A DOCTYPE elem használata Quirks módban

Hagyja el a Doctype-ot, hogy a böngészők a Quirks módba kerüljenek

Ha néhány hónapnál hosszabb időn keresztül tervez weboldalakat, akkor valószínűleg tudatában van annak, hogy az összes böngészőben ugyanazt az oldalt írja. Valójában ez lehetetlen. Számos böngészőt speciális szolgáltatásokkal írtak, amelyeket csak kezelni tudtak. Vagy különleges módon kezelhetik azokat a dolgokat, amelyek eltérnek a többi böngésző kezelésétől. Például:

A böngésző fejlesztők számára az a probléma, hogy olyan web böngészőket kell létrehozniuk, amelyek hátrányosan kompatibilisek a régebbi böngészőkhöz készült weboldalakkal. A probléma megoldása érdekében a böngészők létrehozták a böngészők működési módjait. Ezeket a módokat a DOCTYPE elem jelenléte vagy hiánya határozza meg, és azt, amit a DOCTYPE hív.

DOCTYPE váltás és "Quirks Mode"

Ha a következő DOCTYPE-t helyezd el a weboldaladon:

A modern böngészők (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) a következőképpen értelmeznék ezt:

  1. Mivel van egy helyesen írott DOCTYPE, ez kiváltja a szabványos módot.
  2. Ez egy HTML 4.01 átmeneti dokumentum
  3. Mivel szabványos módban van, a legtöbb böngésző a tartalmat megfelelő (vagy leginkább kompatibilis) HTML 4.01 átmeneti

És ha ezt a DOCTYPE-t behelyezte a dokumentumba:

Ez azt mondja a modern böngészőknek, hogy a HTML 4.01 oldalát a DTD-vel összhangban kell megjeleníteni.

Ezek a böngészők "szigorú" vagy "szabványos" módba kerülnek, és az oldal megfelel a szabványoknak. (Szóval, ehhez a dokumentumhoz a címkéket a böngésző teljesen figyelmen kívül hagyhatja, mivel a FONT elemet a HTML 4.01 szigorúan elavulták.)

Ha teljesen kilép a DOCTYPE-ből, akkor a böngészők automatikusan "furcsa" módba kerülnek.

Az alábbi táblázat bemutatja, hogy a közös böngészők mit mutatnak különböző közös DOCTYPE deklarációkkal.

A Microsoft megnehezíti

Az Internet Explorer 6 is rendelkezik azzal a tulajdonsággal, hogy ha valamit a DOCTYPE nyilatkozat felett helyez el, akkor a quirks módba kerül. Tehát mindkét példa az IE 6-ot a quirks módba teszi, bár a DOCTYPE deklarációk szigorú szabványú módban vannak:

és az XHTML 1.1 DOCTYPE:

Plusz, ha eléri az IE6-ot, akkor az IE8-ban és az IE9-ben a Microsoft által hozzáadott "szolgáltatás": a META elemváltás és a weboldal feketelistája. Valójában ez a két böngészőverzió most hét (!) Különböző móddal rendelkezik:

Az IE 8 bemutatta a "Kompatibilitási módot" is, ahol a felhasználó megváltoztathatja a renderelési modellt IE 7 módba. Annak érdekében, hogy a DOCTYPE és a META elemek használatával beállíthassa a beállítani kívánt módot, az oldal még mindig kevésbé szabványos üzemmódba kapcsolható.

Mi a Quirks Mode?

A Quirks módot azért hozták létre, hogy segítsen kezelni az összes olyan furcsa megjelenítést és nem megfelelő böngésző támogatást és hackeket, amelyeket a webes tervezők használtak ezek kezelésére. A böngésző gyártók aggodalma az volt, hogy ha átkapcsolták a böngészőjüket a teljes specifikációra, akkor a webes tervezők elmaradnak.

A DOCTYPE kapcsolás és a "Quirks Mode" beállításával a webes tervezők eldöntheti, hogy a böngészők milyen módon szeretnék HTML formátumot megjeleníteni.

Quirks mód effektusok

A legtöbb böngészőnek több hatása van a Quirks módban:

Van is különbség a "szinte standard módban:"

Hogyan válasszunk DOCTYPE-t

Részletesebben a DOCTYPE listám cikkében olvashatok, de itt van néhány általános hüvelyszabály:

  1. Először mindig válassza ki a szabványos módot. És az aktuális szabványt, amelyet használnia kell, a HTML5:
    Hacsak nincs külön okunk arra, hogy elkerüljük a HTML5 DOCTYPE használatát, ezt kell használni.
  2. Menj a szigorú HTML 4.01-be, ha valamilyen oknál fogva érvényesítenie kell az örökölt elemeket, vagy el szeretné kerülni az új funkciókat:
  3. Ha szétválogatta a képeket egy táblázatban, és nem akarja azokat kijavítani, keresse fel az Átmeneti HTML 4.01-et:
  4. Ne írj szándékosan az oldalakat quirks módban. Mindig használjon DOCTYPE-t. Ezzel a jövőben a fejlesztési időt megtakaríthatja, és valóban nincs haszna. Az IE6 gyorsan elveszíti népszerűségét, és ezzel a böngészővel (ami lényegében a quirks módban van) korlátozza magát, az olvasókat és az oldalakat. Ha írnia kell az IE 6-ot vagy a 7-et, akkor használja a feltételes megjegyzéseket, hogy támogassa őket, ahelyett, hogy kényszerítené a modern böngészőket.

Miért használd a DOCTYPE programot?

Ha tudatában van ennek a DOCTYPE-típusváltásnak a bekövetkezésekor, akkor közvetlenül a DOCTYPE használatával érheti el weboldalainak hatását, ami azt jelzi, hogy a böngésző elvárhatja az oldalától. Továbbá, ha elkezdi használni a DOCTYPE-et, akkor olyan HTML-t írsz, amely közelebb van ahhoz, hogy érvényes legyen (még mindig érvényesítened kell). És az érvényes XHTML használatával ösztönözheti a böngészők számára, hogy szabványos böngészőket készítsenek.

Böngésző verziók és Quirks mód

DOCTYPE Android
Króm
Firefox
IE 8+
iOS
Opera 7.5+
Szafari
IE 6
IE 7
Opera 7
Netscape 6
Egyik sem Quirks mód Quirks mód Quirks mód
HTML 3.2
Quirks mód Quirks mód Quirks mód
HTML 4.01
Átmeneti Szabvány mód * Szabvány mód * Szabvány mód
Átmeneti Quirks mód Quirks mód Quirks mód
Szigorú Szabvány mód Szabvány mód * Szabvány mód
Szigorú Szabvány mód Szabvány mód * Szabvány mód
HTML5
Szabvány mód Szabvány mód * Quirks mód
* Ezzel a DOCTYPE-vel a böngészők közel állnak a szabványokhoz, de van néhány probléma - győződjön meg róla, hogy tesztel. Ez a "szinte szabványos mód" néven is ismert.