Uporaba elementa DOCTYPE v načinu Quirks

Pustite Doctype, da brskalce prenese v Quirksov način

Če ste več kot nekaj mesecev oblikovali spletne strani, se boste najbolj zavedali težav pri pisanju strani, ki je videti enako v vseh brskalnikih . Dejansko to ni mogoče. Veliko brskalnikov je bilo napisanih s posebnimi značilnostmi, ki so jih lahko le obdelali. Ali pa imajo posebne načine ravnanja s stvarmi, ki se razlikujejo od načina, kako drugi brskalniki ravnajo z njimi. Na primer:

Težava pri razvijalcih brskalnikov je, da morajo ustvariti spletne brskalnike, ki so nazaj združljivi s spletnimi stranmi, zgrajenimi za starejše brskalnike. Da bi rešili to težavo, so ustvarjalci brskalnikov ustvarili načine za delovanje brskalnikov. Te načine določajo prisotnost ali odsotnost elementa DOCTYPE in kateri klici DOCTYPE.

Preklop DOCTYPE in "Quirks Mode"

Če na svojo spletno stran postavite naslednji DOCTYPE:

Sodobni brskalniki (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) bi to razlagali na naslednji način:

  1. Ker je pravilno napisana DOCTYPE, to sproži standardni način.
  2. To je prehodni dokument HTML 4.01
  3. Ker je to v načinu standardov, bo večina brskalnikov postala skladna z vsebino (ali večinoma skladna) z HTML 4.01 prehodno

In če to datoteko DOCTYPE vstavite v svoj dokument:

To pove sodobnim brskalnikom, v katerih želite prikazati svojo stran HTML 4.01 v skladu z DTD.

Ti brskalniki bodo prešli v strogi ali standardni način in bodo strani postali v skladu s standardi. (Torej, za ta dokument lahko oznake, kot jih je brskalnik lahko popolnoma prezrti, ker je bil element FONT opuščen v HTML 4.01 Strict.)

Če pustite DOCTYPE v celoti, se brskalniki samodejno premaknejo v način "quirks".

Spodnja tabela prikazuje, kaj delajo skupni brskalniki, ko so predstavljeni z različnimi deklaracijami DOCTYPE.

Microsoft naredi težje

Internet Explorer 6 ima tudi funkcijo, da če vnesete karkoli nad deklaracijo DOCTYPE, se bodo prešli v način preklopa. Torej, oba od teh primerov bo IE 6 v način preklopa, čeprav so deklaracije DOCTYPE v strogem načinu standarda:

in XHTML 1.1 DOCTYPE:

Plus, če prideš mimo IE6, potem imaš "funkcijo", ki jo je Microsoft dodal v IE8 in IE9: preklapljanje elementa META in umestitev spletnih strani na spletno mesto. Dejansko imajo ti dve različici brskalnika do sedem (!) Različnih načinov:

IE 8 je uvedel tudi "način združljivosti", kjer se je uporabnik lahko odločil za spremembo modela za upodabljanje v IE 7 način. Torej, tudi če nastavite način, ki ga želite nastaviti z uporabo elementov DOCTYPE in META, lahko svojo stran še vedno potisnete v manj standardni način.

Kaj je Quirksov način?

Način Quirks je bil ustvarjen, da pomaga obravnavati vse čudne in neustrezne podpore za brskalnik in hacks, ki jih uporabljajo spletni oblikovalci za reševanje teh stvari. Zaskrbljenost, ki so jo imeli proizvajalci brskalnika, je, da bi, če bi preklopili svoje brskalnike na popolno skladnost s specifikacijami, bodo spletni oblikovalci ostali za sabo.

Z nastavitvijo preklopa DOCTYPE in "Quirks Mode" je to omogočilo spletnim oblikovalcem, da izberejo, kako želijo, da brskalniki podajo svoj HTML.

Učinki v načinu Quirks

Obstaja več učinkov, ki jih večina brskalnikov uporablja v načinu Quirks:

Obstaja tudi razlika v načinu "Skoraj standardi:"

Kako izbrati DOCTYPE

Podrobneje bom podrobneje opisal v svojem članku DOCTYPE List, vendar tukaj je nekaj splošnih pravil:

  1. Najprej izberite način standardov. In sedanji standard, ki ga je treba uporabljati, je HTML5:
    Razen če imate poseben razlog, da se izognete uporabi HTML5 DOCTYPE, morate to uporabiti.
  2. Pojdite na strogo HTML 4.01, če boste morali potrditi stare elemente ali želite izogniti novim funkcijam zaradi nekega razloga:
  3. Če ste narezali slike v tabelo in jih ne želite odpraviti, pojdite na prehodni HTML 4.01:
  4. Ne prepišite strani namerno v načinu quirks. Vedno uporabite DOCTYPE. To vas bo prihranilo v času razvoja v prihodnosti in res nima nobene koristi. IE6 hitro izgublja priljubljenost in z oblikovanjem za ta brskalnik (kar je v bistvu tisto, kar je oblikovanje v načinu quirks) omejite sebe, svoje bralce in vaše strani. Če morate napisati za IE 6 ali 7, nato uporabite pogojne pripombe, ki jih podpirate, namesto da bi sodobne brskalnike pritegnili v način preobremenjenosti.

Zakaj uporabljati DOCTYPE

Ko se zavedate te vrste preklopa DOCTYPE, lahko neposredno vplivate na vaše spletne strani z uporabo DOCTYPE, ki označuje, kaj lahko brskalnik pričakuje od vaše strani. Ko enkrat začnete uporabljati DOCTYPE, boste pisali HTML, ki je bližje veljavnosti (še vedno jo morate potrditi). In s tem, da napišete veljaven XHTML, proizvajalce brskalnikov spodbujate k izdelovanju brskalnikov, skladnih s standardi.

Različice brskalnika in način Quirks

DOCTYPE Android
Chrome
Firefox
IE 8+
iOS
Opera 7,5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Nihče Quirks Mode Quirks Mode Quirks Mode
HTML 3.2
Quirks Mode Quirks Mode Quirks Mode
HTML 4.01
Prehodna Standardni način * Standardni način * Standardni način
Prehodna Quirks Mode Quirks Mode Quirks Mode
Strog Standardni način Standardni način * Standardni način
Strog Standardni način Standardni način * Standardni način
HTML5
Standardni način Standardni način * Quirks Mode
* S to DOCTYPE so brskalniki v bližini standardov, ki so skladni, vendar imajo nekaj težav - preverite, ali jih testirate. To je znano tudi kot "skoraj standardni način".