Dacă ați proiectat pagini web pentru mai mult de câteva luni, sunteți cel mai probabil conștienți de dificultatea de a scrie o pagină care arată la fel în toate browserele. De fapt, este imposibil. Multe browsere au fost scrise cu caracteristici speciale pe care doar ei le-ar putea ocupa. Sau au modalități speciale de a gestiona lucruri diferite de cele ale altor browsere. De exemplu:
- Straturile au fost create pentru a fi utilizate în browserele Netscape. Ele nu funcționează în niciun alt browser și, de fapt, au fost depreciate în Netscape 6.x +.
- Cadrele inline au fost create inițial numai pentru Internet Explorer și au devenit parte din specificația HTML.
- Internet Explorer 6.0 adaugă un spațiu suplimentar (cum ar fi) în jurul tagurilor, cu excepția cazului în care scrieți conținutul liniei div all pe o singură linie (lungă). (IE 6 are multe alte ciudățenii, precum și acest lucru.)
- Netscpe 4.7 nu va afișa tabele care nu sunt scrise în HTML corect - în schimb, arată o pagină necompletată. Acest lucru a fost stabilit în Netscape 6.
Problema dezvoltatorilor de browser este că trebuie să creeze browsere web compatibile cu paginile web create pentru browserele mai vechi. Pentru a rezolva această problemă, producătorii de browsere au creat moduri în care să navigheze browserele. Aceste moduri sunt definite de prezența sau absența unui element DOCTYPE și de ceea ce DOCTYPE
apeluri.
DOCTYPE
Mă refer la mai multe detalii în articolul meu DOCTYPE
Lista, dar aici sunt câteva reguli generale de deget:
- Alegeți întotdeauna mai întâi modul standard. Și standardul pe care ar trebui să îl utilizați este HTML5: Dacă nu aveți un motiv specific pentru a evita utilizarea HTML5
DOCTYPE
, asta ar trebui să utilizați. - Du-te la strict HTML 4.01 dacă aveți nevoie pentru a valida elementele moștenite sau doriți să evitați noi caracteristici dintr-un motiv oarecare:
- Dacă ați tăiat imagini într-o masă și nu doriți să le reparați, mergeți la HTML 4 Transitional:
- Nu scrieți pagini în mod deliberat în modul ciudat. Utilizați întotdeauna a
DOCTYPE
. Acest lucru vă va salva pe timp de dezvoltare în viitor și nu are nici un beneficiu. IE6 pierde rapid popularitatea și prin proiectarea pentru acest browser (care este, în esență, ceea ce se proiectează în modul quirks este) vă limitați singur, cititorii și paginile dvs. Dacă trebuie să scrieți pentru IE 6 sau 7, utilizați comentariile condiționale pentru a le sprijini, mai degrabă decât a forța browserele moderne în mod quirks.
De ce folosiți DOCTYPE
Odată ce ați fost conștienți de acest tip de DOCTYPE
comutarea continuă, puteți afecta mai direct paginile dvs. web utilizând o opțiune DOCTYPE
care indică ce se poate aștepta browserul de la pagina dvs. De asemenea, odată ce începeți să utilizați DOCTYPE
, veți scrie HTML care este mai aproape de a fi valid (ar trebui să îl validați în continuare). Și scriind XHTML valabil, îi încurajezi pe producătorii de browsere să construiască browsere compatibile cu standardele.
Versiunile browserului și modul Quirks
DOCTYPE | AndroidCromFirefoxIE 8+iOSOpera 7.5+Safari | IE 6IE 7Opera 7 | Netscape 6 |
---|---|---|---|
Nici unul | Modulul Quirks | Modulul Quirks | Modulul Quirks |
HTML 3.2 | |||
Modulul Quirks | Modulul Quirks | Modulul Quirks | |
HTML 4.01 | |||
tranziţie | Mod de standardizare * | Mod de standardizare * | Mod de standardizare |
tranziţie | Modulul Quirks | Modulul Quirks | Modulul Quirks |
Strict | Mod de standardizare | Mod de standardizare * | Mod de standardizare |
Strict | Mod de standardizare | Mod de standardizare * | Mod de standardizare |
HTML5 | |||
Mod de standardizare | Mod de standardizare * | Modulul Quirks | |
* Cu acest DOCTYPE, browserele sunt aproape conforme cu standardele, dar au câteva probleme - asigurați-vă că le testați. Acest lucru este, de asemenea, cunoscut sub numele de "modul aproape de standarde". |