DOCTYPE elemendi kasutamine Quirki režiimis

Jätke Doctypi välja, et sirvijaid unustata

Kui olete veebisaite kujundanud rohkem kui paar kuud, olete tõenäoliselt kursis kõigi lehtede jaoks ühesuguse lehekülje kirjutamise raskusega. Tegelikult on see võimatu. Paljud brauserid on kirjutatud spetsiaalsete funktsioonidega, mida nad saavad hakkama saada. Või on neil spetsiaalsed viisid selliste asjade käitlemiseks, mis erinevad sellest, kuidas teised brauserid neid käsitlevad. Näiteks:

Brauseriprojektide probleem on see, et nad peavad looma veebibrausereid, mis on vanemate brauseritega ehitatud veebilehtedega sammu võrra ühilduvad. Selle probleemiga tegelemiseks on brauseritootjad loonud režiimid brauserite kasutamiseks. Need režiimid määratletakse DOCTYPE-elemendi olemasolu või puudumise ja selle DOCTYPE-i kutsumisega.

DOCTYPE Switching ja "Quirks Mode"

Kui lisate oma veebilehel järgmise DOCTYPE:

Kaasaegsed brauserid (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) tõlgendavad seda järgmiselt:

  1. Kuna seal on õigesti kirjutatud DOCTYPE, käivitab see standardirežiimi.
  2. See on ülemineku dokument HTML 4.01
  3. Kuna see on standardses režiimis, muudab enamik brauserit sisu nõuetele vastavaks (või enamasti ühilduvaks) HTML 4.01 üleminekuajaga

Ja kui panete selle dokumendi DOCTYPE:

See ütleb tänapäevastele brauseritele, et soovite kuvada oma HTML 4.01 lehte, järgides täpselt DTD-d.

Need brauserid lähevad režiimile "ranged" või "standardid" ja muudavad lehe standardid. (Selle dokumendi puhul võivad sellised märgendid olla brauseri poolt täielikult ignoreeritud, kuna FONT-element on HTML 4.01 rangelt keelatud.)

Kui jätate DOCTYPE välja täielikult, käivitatakse brauserid automaatselt "quirks" režiimis.

Alljärgnev tabel näitab, mida tavalised brauserid teevad, kui neid esitatakse koos erinevate ühiste DOCTYPE avaldustega.

Microsoft teeb seda raskemaks

Internet Exploreris 6 on ka funktsioon, mille abil saate DOCTYPE deklaratsiooni ülaltoodud asjadesse minna. Nii mõlemad nendest näidetest panevad IE 6 pärisrežiimi, kuigi DOCTYPE deklaratsioonid räägivad rangete standardite režiimis:

ja XHTML 1.1 DOCTYPE:

Veelgi enam, kui sa saad IE6-le varem, siis on sul funktsioon, mida Microsoft lisab IE8-s ja IE9-s: META-elemendi vahetamine ja veebisaidi musta nimekirja koostamine. Tegelikult on nendel kahel brauseri versioonil nüüd kuni seitse (!) Erinevat režiimi:

IE 8 tutvustas ka "ühilduvusrežiimi", kus kasutaja saaks valida, kas muuta rippmenüü tagasi IE 7 režiimi. Nii et isegi siis, kui määrate režiimi, mida soovite määrata nii DOCTYPE kui ka META elementide abil, võidakse teie lehte allapoole tagasi lükata vähem normidele vastav režiim.

Mis on Quirki režiim?

Kõigi kummalise renderdamise ja nõuetele mittevastava brauseri tugi ja häkkide tegemine, mida veebidisainerid nende asjadega tegelemiseks kasutasid, on loodud erakonna režiim. Brauseritootjate mure oli, et kui nad lülitaksid oma brauserid täieliku spetsifikatsiooni nõuetele vastavusse, jätta veebidisainerid maha.

DOCTYPE-i lülitamise ja "Quirks Mode" seadistamisel lubasid veebidisainerid valida, kuidas nad soovivad, et brauserid HTML-i muudaksid.

Quirki režiimiefektid

Mõned efektid, mida enamus brauseritel Quirki režiimis kasutab, on:

Samuti on erinevused "peaaegu standardversioonis:"

Kuidas valida DOCTYPE

Ma lähemalt üksikasjalikult oma artiklis DOCTYPE List, kuid siin on mõned üldised rusikareeglid:

  1. Valige alati standardrežiim. Ja praegune standard, mida peaksite kasutama, on HTML5:
    Kui teil pole konkreetset põhjust HTML5 DOCTYPE kasutamise vältimiseks, siis peaksite seda kasutama.
  2. Minge rangesse HTML-i 4.01-ni, kui peate kinnitama päranduselemente või soovite mõnel põhjusel uusi funktsioone vältida.
  3. Kui olete tabelis pilte viilutanud ja te ei soovi neid parandada, minge üleminekuajale HTML 4.01:
  4. Ärge kirjutage lehti ettekavatsematult vallandamise režiimis. Kasuta alati DOCTYPE-d. See säästab teid arendusaja jooksul tulevikus ja pole tõesti kasu. IE6 kaotab populaarsuse kiiresti ja selle brauseri kujundamisel (mis on põhimõtteliselt see, mis kujundab quirks-režiimis), piirates ennast, oma lugejaid ja teie lehti. Kui peate kirjutama IE 6 või 7 jaoks, siis kasutage nende toetamiseks tingimuslikke kommentaare, mitte sundides tänapäevaseid brausereid muutumatuna režiimi.

Miks kasutada DOCTYPE'i

Kui olete teadlik sellist tüüpi DOCTYPE-i vahetamisest, saate oma veebisaite otsesemalt mõjutada, kasutades DOCTYPE-d, mis näitab, mida brauser teie lehelt ootavad. Kui hakkad DOCTYPE-d kasutama hakkama, kirjutaksite HTML-i, mis on lähemal kehtivale (te peate selle veel kinnitama). Kui kirjutad kehtivat XHTML-i, siis julgustad brauserit tegijaid standarditele vastavate brauserite loomiseks.

Brauseri versioonid ja unikaalsed režiimid

DOCTYPE Android
Chrome
Firefox
IE 8+
iOS-i
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Puudub Unistuste režiim Unistuste režiim Unistuste režiim
HTML 3.2
Unistuste režiim Unistuste režiim Unistuste režiim
HTML 4.01
Üleminekuaeg Standardite režiim * Standardite režiim * Standardversioon
Üleminekuaeg Unistuste režiim Unistuste režiim Unistuste režiim
Rangelt Standardversioon Standardite režiim * Standardversioon
Rangelt Standardversioon Standardite režiim * Standardversioon
HTML5
Standardversioon Standardite režiim * Unistuste režiim
* Selle DOCTYPE-ga on brauserid standarditele vastavuses, kuid neil on probleeme - kindlasti proovige. Seda nimetatakse ka "peaaegu standardseisundiks".