Notkun DOCTYPE Element í Quirks Mode

Yfirgefa Doctype til að setja vafra í Quirks Mode

Ef þú hefur verið að hanna vefsíður í meira en nokkra mánuði, þá ertu líklegast meðvitaður um að erfitt sé að skrifa síðu sem lítur út eins og í öllum vöfrum . Í staðreynd, það er ómögulegt. Margir vafrar voru skrifaðar með sérstökum eiginleikum sem aðeins þeir gætu séð um. Eða þeir hafa sérstakar leiðir til að meðhöndla hluti sem eru frábrugðnar því hvernig aðrir vafrar annast þær. Til dæmis:

Vandamálið við forritara vafrans er að þeir verða að búa til vefur flettitæki sem eru afturábak samhæft við vefsíður sem eru byggðar fyrir eldri vafra. Í því skyni að takast á við þetta mál, búnar vafrareikendur upp stillingar fyrir vafra til að starfa inn. Þessar stillingar eru skilgreindar með tilvist eða fjarveru DOCTYPE frumefnis og það sem DOCTYPE kallar.

DOCTYPE Rofi og "Quirks Mode"

Ef þú setur eftirfarandi DOCTYPE á vefsíðu þinni:

Nútíma vafrar (Android 1+, Chrome 1+, IE 6+, IOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) túlka þetta á eftirfarandi hátt:

  1. Vegna þess að það er rétt skrifað DOCTYPE, þá kallar þetta staðalstillingu.
  2. Það er HTML 4.01 Transitional skjal
  3. Vegna þess að það er í staðalstillingu verða flestir vafrar að innihalda samhæfð (eða að mestu leyti samhæft) með HTML 4.01 Transitional

Og ef þú setur þetta DOCTYPE í skjalið þitt:

Þetta segir nútíma vafra sem þú vilt birta HTML 4.01 síðuna þína í samræmi við DTD.

Þessar vafrar fara í "strangar" eða "staðla" ham og láta síðuna í samræmi við staðlana. (Svo fyrir þetta skjal gætu merki eins og verið að vera alveg hunsuð af vafranum, þar sem FONT-þátturinn hefur verið fjarlægður í HTML 4.01 Strangt.)

Ef þú yfirgefur DOCTYPE alveg, eru vafrarnir sjálfkrafa sparkaðir í "einkenni" ham.

Taflan hér að neðan sýnir hvað algengar vafrar gera þegar þær eru kynntar með mismunandi sameiginlegum DOCTYPE yfirlýsingum.

Microsoft gerir það erfiðara

Internet Explorer 6 hefur einnig þann möguleika að ef þú setur nokkuð yfir DOCTYPE yfirlýsinguna, þá munu þeir fara inn í einkenni. Þannig munu bæði þessi dæmi koma í stað IE 6 í eiginleikum, jafnvel þótt DOCTYPE yfirlýsingarnar segi að vera í ströngum stöðlum:

og XHTML 1.1 DOCTYPE:

Þar að auki, ef þú færð framhjá IE6, þá hefurðu þann möguleika sem Microsoft bætti við í IE8 og IE9: META frumefni skipta og svörun á vefsvæði. Reyndar hafa þessar tvær vafraútgáfur allt að sjö (!) Mismunandi stillingar:

IE 8 kynnti einnig "Compatibility Mode" þar sem notandinn gæti valið að breyta flutningsmiðlinum aftur í IE 7 ham. Þannig að jafnvel þótt þú stillir stillingu sem þú vilt setja með bæði DOCTYPE og META þættunum gæti síðuna þína enn verið ýtt aftur í samhæfari stillingu.

Hvað er Quirks Mode?

Quirks ham var búið til til að hjálpa til við að takast á við allar undarlegar flutningar og ósamhæfar vafra stuðning og járnsög sem vefhönnuðir voru að nota til að takast á við þessi atriði. Áhyggjuefnið sem vafraframleiðendur höfðu haft var að ef þeir skiptu vafrunum sínum yfir í fulla forskriftarreglur væri vefur hönnuðir vinstri baki.

Með því að setja upp DOCTYPE skipta og "Quirks Mode" leyfðu web hönnuðir að velja hvernig þeir vildu að vafrar birti HTML þeirra.

Kveikjaáhrif

Það eru nokkrir áhrif sem flestir vafrar nota í Quirks Mode:

Það er einnig munur á "næstum staðalstillingu:"

Hvernig á að velja DOCTYPE

Ég fer í smáatriði í DOCTYPE listanum mínum, en hér eru nokkrar almennar reglur um þumalfingur:

  1. Veldu alltaf stillingarhamur fyrst. Og núverandi staðall sem þú ættir að nota er HTML5:
    Nema þú hefur sérstaka ástæðu til að forðast að nota HTML5 DOCTYPE, þá ættirðu að nota þetta.
  2. Farðu í strangan HTML 4.01 ef þú þarft að staðfesta arfur þætti eða vildu forðast nýja eiginleika af einhverri ástæðu:
  3. Ef þú hefur sneiðmyndir í töflu og vilt ekki laga þau skaltu fara í Transitional HTML 4.01:
  4. Ekki skrifa síður með vísvitandi hætti í eiginleikum. Notaðu alltaf DOCTYPE. Þetta mun spara þér á þróunartíma í framtíðinni og hefur í raun engin ávinning. IE6 er hratt að tapa vinsældum og með því að hanna fyrir þennan vafra (sem er í raun og veru hvað hönnunin er í einkennum) er að takmarka þig, lesendur þína og síðurnar þínar. Ef þú verður að skrifa fyrir IE 6 eða 7 skaltu nota skilyrt athugasemdir til að styðja þá, frekar en að þvinga nútíma vafra í eiginleikum.

Af hverju notaðu DOCTYPE

Þegar þú hefur verið meðvituð um þessa tegund af DOCTYPE skiptingu geturðu haft áhrif á vefsíðurnar þínar beint með því að nota DOCTYPE sem gefur til kynna hvað vafrinn getur búist við af síðunni þinni. Einnig, þegar þú byrjar að nota DOCTYPE, verður þú að skrifa HTML sem er nær því að vera gilt (þú ættir samt að staðfesta það). Og með því að skrifa gild XHTML, hveturðu vafrara að byggja upp staðla sem eru í samræmi við vafra.

Browser útgáfur og Quirks Mode

DOCTYPE Android
Króm
Firefox
IE 8+
iOS
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Enginn Quirks Mode Quirks Mode Quirks Mode
HTML 3.2
Quirks Mode Quirks Mode Quirks Mode
HTML 4.01
Bráðabirgða Standards Mode * Standards Mode * Standards Mode
Bráðabirgða Quirks Mode Quirks Mode Quirks Mode
Strangt Standards Mode Standards Mode * Standards Mode
Strangt Standards Mode Standards Mode * Standards Mode
HTML5
Standards Mode Standards Mode * Quirks Mode
* Með þessari DOCTYPE eru vafrar nálægt samhæfðum stöðlum en hafa nokkur vandamál - vertu viss um að prófa. Þetta er einnig þekkt sem "næstum staðlahamur".