Upotreba elementa DOCTYPE u način rada Quirks

Ostavite Doctype da stavite preglednike u način rada Quirks

Ako ste projektirali web stranice više od nekoliko mjeseci, najvjerojatnije ste svjesni poteškoća u pisanju stranice koja izgleda isto u svim preglednicima . Zapravo, to je nemoguće. Mnogi su preglednici napisani s posebnim značajkama koje samo oni mogu podnijeti. Ili imaju posebne načine rukovanja stvari koje se razlikuju od toga kako ih drugi preglednici obrađuju. Na primjer:

Problem za razvojne programere preglednika je da moraju stvoriti web preglednike koji su kompatibilni s web stranicama izgrađenim za starije preglednike. Da bismo riješili taj problem, proizvođači preglednika stvorili su načine rada preglednika. Ovi načini određuju prisutnost ili nedostatak elementa DOCTYPE i ono što DOCTYPE poziva.

Prebacivanje DOCTYPE i "Quirks Mode"

Ako stavite sljedeće DOCTYPE na svoju web stranicu:

Moderni preglednici (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) interpretirat će to na sljedeći način:

  1. Budući da postoji ispravno napisana DOCTYPE, to pokreće način rada standarda.
  2. To je HTML 4.01 Prijelazni dokument
  3. Budući da je u standardnom načinu rada, većina preglednika će sadržaj uskladiti (ili uglavnom uskladiti) sa HTML 4.01 Prijelaznim

A ako stavite ovu DOCTYPE u svoj dokument:

Ovo govori modernim preglednicima da želite prikazati HTML 4.01 stranicu u skladu s DTD-om.

Ovi preglednici idu u "strog" ili "standardni" način i prikazuju stranicu u skladu sa standardima. (Dakle, za ovaj dokument, preglednik je potpuno ignorirao oznake poput FONT elementa u HTML 4.01 Strictu.)

Ako potpuno napustite DOCTYPE, preglednici se automatski prebacuju u način "quirks".

Tablica u nastavku pokazuje ono što uobičajeni preglednici rade kada se prikazuju različitim uobičajenim DOCTYPE deklaracijama.

Microsoft ga čini teže

Internet Explorer 6 također ima značajku da ako stavite bilo što na sve iznad deklaracije DOCTYPE, oni će ići u quirks način. Dakle, oba ova primjera će staviti IE 6 u quirks način, iako DOCTYPE deklaracije kažu da se u strogom standardnom načinu rada:

i XHTML 1.1 DOCTYPE:

Osim toga, ako dobijete IE6, onda imate "značajku" koju je Microsoft dodao u IE8 i IE9: META element prebacivanja i web stranice na crnoj listi. Zapravo, ove dvije verzije preglednika sada imaju do sedam (!) Različitih načina:

IE 8 je također uveo "Modus kompatibilnosti" gdje korisnik može odabrati da se model render vraća u IE 7 mod. Tako da čak i ako postavite način koji želite postaviti pomoću DOCTYPE i META elemenata, vaša se stranica i dalje može gurnuti natrag u način manje usklađen s standardima.

Što je Quirks Mode?

Quirks način rada stvoren je kako bi se pomoglo u rješavanju svih neobičnih prikazivanja i nepridržavanja podrške preglednika i hakiranja koje su web dizajneri koristili za rješavanje tih stvari. Zabrinutost koju su proizvođači preglednika imali jest da, ako prebaci preglednike na potpunu sukladnost specifikacije, web dizajneri bi ostali iza sebe.

Postavljanjem DOCTYPE prebacivanja i "Quirks Mode" to dopušteno web dizajneri odabrati kako su htjeli preglednike za prikazivanje njihov HTML.

Efekti na način rada Quirks

Postoji nekoliko učinaka koje većina preglednika koristi u Quirks načinu rada:

Postoji i razlika u "gotovo standardnom načinu rada":

Kako odabrati DOCTYPE

Idem u više detalja u svom članku DOCTYPE List, ali evo nekoliko općih pravila:

  1. Prvo odaberite način standarda. A trenutni standard koji biste trebali upotrebljavati je HTML5:
    Ako nemate određeni razlog za izbjegavanje upotrebe HTML5 DOCTYPE, to biste trebali upotrebljavati.
  2. Idite na strog HTML 4.01 ako trebate potvrditi naslijeđene elemente ili iz nekog razloga želite izbjeći nove značajke:
  3. Ako ste slikali slike u tablici i ne želite ih ispraviti, idite na Prijelazni HTML 4.01:
  4. Nemojte pisati stranice namjerno u quirks modu. Uvijek koristite DOCTYPE. To će vam u budućnosti spasiti vrijeme razvoja i stvarno nema koristi. IE6 brzo gubi popularnost i dizajniranjem za ovaj preglednik (što je u suštini ono što dizajniranje u quirks modu je) ograničavate sebe, svoje čitatelje i vaše stranice. Ako morate pisati za IE 6 ili 7, upotrijebite uvjetne komentare da biste ih podržali, a ne prisiljavate moderne preglednike na način rada.

Zašto koristiti DOCTYPE

Kada budete svjesni ove vrste prebacivanja DOCTYPE, možete izravnije utjecati na web stranice pomoću DOCTYPE koji označava što preglednik može očekivati ​​od vaše stranice. Također, nakon što počnete upotrebljavati DOCTYPE, pisat ćete HTML koji je bliži valjanosti (trebali biste ga još potvrditi). I pisanjem valjanog XHTML-a, potičete kreatore preglednika da izgrade preglednike koji zadovoljavaju standarde.

Verzije preglednika i način rada s upitima

DOCTYPE Android
Krom
Firefox
IE 8+
iOS
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
nijedan Quirks način rada Quirks način rada Quirks način rada
HTML 3.2
Quirks način rada Quirks način rada Quirks način rada
HTML 4.01
prijelazan Način standarda * Način standarda * Način rada standarda
prijelazan Quirks način rada Quirks način rada Quirks način rada
Strog Način rada standarda Način standarda * Način rada standarda
Strog Način rada standarda Način standarda * Način rada standarda
HTML5
Način rada standarda Način standarda * Quirks način rada
* Ovim DOCTYPE preglednici su bliski standardima, ali imaju neka pitanja - svakako provjerite. To je također poznat kao "gotovo standardni način rada".