Usor, usor mai taiem din piedici

O bariera importanta in procesul de web development o reprezinta compatibilitatea cu browserele vechi. Din fericire nu mai fac referire atat de mult la interfata cat la programare in sine. Degeaba ai la dispozitie mijloace de a face aplicatii misto daca platformele carora te poti adresa au cota de piata mica.

La BEC Media de vreun an am decis ca Internet Explorer 6 e doar o pierdere de timp, asta dupa ce am analizat rapoartele de trafic ale clientilor mari. Atunci cand Pareto a trecut de la IE la Firefox si Chrome a dat o lege fundamentala online-ului: nu merita 80% din efort pentru 20% din rezultate.

Zi de zi injur faptul ca Microsoft nu a avut o politica de update care sa permita tinerea la zi a browserului sau pentru ca IE 9 e mai mult decat decent (n-o sa-l folosesc decat obligat, but still). Mozilla a facut-o bine, Google la fel.

Acum ca mi-am varsat dracii, revin la subiectul pentru care m-am entuziasmat suficient de tare incat sa scriu un articol – incepand cu 1 august, intr-un efort de a impinge tehnologii noi cat mai repede pe piata, Google a anuntat faptul ca o parte a serviciilor nu vor functiona decat pe versiunea curenta a browserului si o versiune anterioara.

Happy, happy, joy, joy!

In acest fel sper sa avem majoritar platforme moderne care suporta HTML5 si tehnologii noi, sa poa’ sa faca programatorii aplicatiile pe care le viseaza noaptea.

Box model: Microsoft vs W3C

Internet Explorer are modelu’ cutiutei diferit de restul browserelor pamantului, astfel tu trebuie sa faci lucrurile putin diferit pentru a ajunge la acelasi rezultat. In plus, nu te poti adresa unui singur browser, deci trebuie specifici reguli care sa functioneze identic atat in IE (standarde Microsoft) cat si in Firefox, Safari, Chrome, Opera etc (restul browserelor care functioneaza dupa standardele W3C).

w3c_and_internet_explorer_box_models

Problema este ca Microsoft considera ca latimea unui element contine padding-ul si borderul (ceea acum 4 ani si mie mi se parea logic), dar asta contrazice standardul. Logic sau nelogic, standardul este cel ce incurajeaza progresul, face ca lumea sa fie mai buna si ca toate site-urile sa arate la fel indiferent ce browser preferi.

In alte cuvinte, daca tu specifici unui element sa aiba latimea de 900px si distanta interioara fata de continut de 10 pixeli pe fiecare latura, latimea totala va fi de 900px in IE si 920px in orice alt browser de pe planeta asta, iar asta da ceva batai de cap in unele cazuri.

Asta e un fel de introducere pentru niste articole pe care vroiam sa le scriu de mult timp pentru cei ce sunt la inceput cu CSS-ul.