DOCTYPE elemento naudojimas "Quirks" režime

Išjunkite "Doctype", kad naršyklės įdėtų į "Quirks" režimą

Jei tinklapius sukūrėte daugiau nei keletą mėnesių, labiausiai tikėtina, kad sunku rašyti puslapį, kuris atrodo vienodai visose naršyklėse . Tiesą sakant, tai neįmanoma. Daugelis naršyklių buvo parašytos su specialiomis funkcijomis, kurias jie galėdavo tvarkyti. Arba jie turi specialių būdų tvarkyti dalykus, kurie skiriasi nuo to, kaip kiti naršyklės juos tvarko. Pavyzdžiui:

Problema, kurią kelia naršyklės kūrėjai, yra tai, kad jie turi sukurti naršykles, kurios yra atgaliniu būdu suderinamos su senesnių naršyklių sukurtais tinklalapiais. Norėdami išspręsti šią problemą, naršyklės kūrėjai sukūrė naršyklių veikimo būdus. Šie režimai apibrėžiami DOCTYPE elemento buvimu ar nebuvimu ir tai, ką tas DOCTYPE skamba.

DOCTYPE perjungimas ir "Quirks Mode"

Jei į savo tinklalapį įdėkite šį DOCTYPE:

Šiuolaikiškos naršyklės ("Android" 1+, "Chrome 1+", "IE 6+", "iOS 1+", "Firefox 1+", "Netscape 6+", "Opera 6+" ir "Safari 1+") šią sąvoką interpretuos taip:

  1. Kadangi yra teisingai parašytas DOCTYPE, tai sukelia standartų režimą.
  2. Tai HTML 4.01 pereinamasis dokumentas
  3. Kadangi tai standartų režimu, dauguma naršyklių bus suderintos su turiniu (ar dažniausiai atitinka) su HTML 4.01 pereinamuoju

Jei į dokumentą įtraukėte šį DOCTYPE:

Tai pasakoja šiuolaikines naršykles, kad norite rodyti savo HTML 4.01 puslapį, griežtai laikantis DTD.

Šios naršyklės pereis į "griežtus" arba "standartinius" režimus ir pateikia puslapį pagal standartus. (Taigi, šiame dokumente tokios žymos, kurias naršyklė gali visiškai nepaisyti, nes FONT elementas buvo nebeaktualus HTML 4.01 Strict.)

Jei visiškai išeisite iš DOCTYPE, naršyklės bus automatiškai išjungtos į "quirks" režimą.

Toliau pateiktoje lentelėje parodyta, ką dažniausiai atlieka naršyklės, kai pateikiamos skirtingos bendrosios DOCTYPE deklaracijos.

"Microsoft" daro tai sunkiau

"Internet Explorer 6" taip pat turi funkciją, kuri, jei jūs viską įdėtumėte aukščiau DOCTYPE deklaracijos, jie pateks į nepatogumų režimą. Taigi, abu šie pavyzdžiai pateiks IE 6 į priespaudų režimą, nors DOCTYPE pareiškimai sako, kad jie turi būti griežtai standartuose:

ir XHTML 1.1 DOCTYPE:

Be to, jei jūs gaunate ankstesnę versiją IE6, turite "funkciją", kurią "Microsoft" pridėjo IE8 ir IE9: " META" elementų perjungimas ir svetainių juodoji sąskaita. Iš tiesų šiose dviejų naršyklių versijose dabar yra ne daugiau kaip septyni (!) Skirtingi režimai:

"IE 8" taip pat pristatė "suderinamumo režimą", kur vartotojas galėtų pasirinkti pakeisti vaizdavimo modelį atgal į IE 7 režimą. Taigi, net jei nustatysite režimą, kurį norite nustatyti naudodami DOCTYPE ir META elementus, jūsų puslapį vis tiek galima sugrąžinti į mažiau standartus atitinkantį režimą.

Kas yra Quirks režimas?

"Quirks" režimas sukurtas siekiant padėti susidoroti su visais keista renderavimo ir neatitinkančiomis naršyklės palaikymo funkcijomis, kuriomis naudojosi interneto dizaineriai, kad galėtumėte išspręsti šiuos dalykus. Susirūpinimas, kad naršyklės gamintojai turėjo tai, kad jei jie perjungtų savo naršykles iki visiško atitikimo specifikacijoms, interneto dizaineriai būtų palikti.

Nustatydami DOCTYPE perjungimą ir "Quirks Mode" tai leido interneto dizaineriams pasirinkti, kaip jie norėjo, kad naršyklės pateiktų savo HTML.

Quirks režimo efektai

Yra keletas efektų, kuriuos dauguma naršyklių naudoja "Quirks" režime:

Taip pat skiriasi "Beveik standartų režimas":

Kaip pasirinkti DOCTYPE

Mano straipsnyje DOCTYPE sąrašas einu išsamiau, bet čia yra keletas paprastų taisyklių:

  1. Visada pasirinkite standarto režimą. Ir dabartinis standartas, kurį turėtumėte naudoti, yra HTML5:
    Jei neturite konkrečios priežasties, kodėl HTML5 DOCTYPE nenaudosite, tai turėtumėte naudoti.
  2. Eikite į griežtą HTML 4.01, jei turite kokių nors priežasčių patvirtinti senus elementus arba norite išvengti naujų funkcijų:
  3. Jei lentelėje paversite paveikslėlius ir nenorite jų taisyti, eikite į Transitional HTML 4.01:
  4. Nenaudokite puslapių sąmoningai į nepatogumų režimą. Visada naudokite DOCTYPE. Tai sutaupys jūsų laiką kūrimo metu ateityje ir iš tiesų neturės jokios naudos. IE6 greitai praranda populiarumą ir suprojektuodamas šią naršyklę (kuri iš esmės yra tai, kas projektuojanti "quirks" režimu), jūs apribojote save, savo skaitytojus ir savo puslapius. Jei turite parašyti IE 6 ar 7, tada naudokite sąlygines pastabas, kad jas palaikytumėte, o ne priversti šiuolaikines naršykles prisijungti prie priespaudų režimo.

Kodėl verta naudotis DOCTYPE?

Kai jau žinote apie šio DOCTYPE tipo perjungimo tipą, galite tiesiogiai paveikti jūsų tinklalapius naudodami DOCTYPE, nurodantį, ką naršyklė gali tikėtis iš jūsų puslapio. Be to, kai pradėsite naudoti DOCTYPE, rašysite HTML, kuris yra arčiau galiojantis (vis tiek turėtumėte jį patvirtinti). Ir rašydami galiojantį XHTML, jūs skatinate naršyklių kūrėjus kurti standartus atitinkančias naršykles.

Naršyklės versijos ir "Quirks" režimas

DOCTYPE "Android"
"Chrome"
"Firefox"
IE 8 +
"iOS"
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Nė vienas Nepatinka režimas Nepatinka režimas Nepatinka režimas
HTML 3.2
Nepatinka režimas Nepatinka režimas Nepatinka režimas
HTML 4.01
Pereinamojo laikotarpio Standartų režimas * Standartų režimas * Standartų režimas
Pereinamojo laikotarpio Nepatinka režimas Nepatinka režimas Nepatinka režimas
Griežtas Standartų režimas Standartų režimas * Standartų režimas
Griežtas Standartų režimas Standartų režimas * Standartų režimas
HTML5
Standartų režimas Standartų režimas * Nepatinka režimas
* Naudodamiesi šiuo DOCTYPE, naršyklės yra arti standartų, tačiau jos turi tam tikrų problemų - būtinai patikrinkite. Tai taip pat žinomas kaip "Beveik standartų režimas".