Používanie prvku DOCTYPE v režime Quirks

Ak chcete prepnúť prehliadače do režimu Quirks, vynechajte Doctype

ObsahRozbaliť

Ak navrhujete webové stránky viac ako niekoľko mesiacov, s najväčšou pravdepodobnosťou ste si vedomí ťažkostí pri písaní stránky, ktorá vyzerá rovnako vo všetkých prehliadačoch. V skutočnosti je to nemožné. Mnoho prehliadačov bolo napísaných so špeciálnymi funkciami, ktoré zvládnu iba oni. Alebo majú špeciálne spôsoby riešenia vecí, ktoré sa líšia od toho, ako ich riešia iné prehliadače. Napríklad:





|_+_|

hovory.

  • Vrstvy boli vytvorené na použitie v prehliadačoch Netscape. Nefungujú v žiadnom inom prehliadači av skutočnosti boli v Netscape 6.x+ zastarané.
  • Inline rámy boli pôvodne vytvorené len pre Internet Explorer a odvtedy sa stali súčasťou špecifikácie HTML.
  • Internet Explorer 6.0 pridáva ďalší priestor (ako napr
    ) obklopujúce značky, pokiaľ nenapíšete obsah div všetko na jeden (dlhý) riadok. (IE 6 má oveľa viac vtipov, ako aj tento.)
  • Netscape 4.7 nezobrazí tabuľky, ktoré nie sú napísané v správnom HTML – namiesto toho zobrazí prázdnu stránku. Toto bolo opravené v Netscape 6.

Problém pre vývojárov prehliadačov je, že musia vytvárať webové prehliadače, ktoré sú spätne kompatibilné s webovými stránkami vytvorenými pre staršie prehliadače. Aby sa tento problém vyriešil, tvorcovia prehliadačov vytvorili režimy, v ktorých môžu prehliadače fungovať. Tieto režimy sú definované prítomnosťou alebo absenciou prvku DOCTYPE a tým, čo



|_+_|

hovory.

DOCTYPE Switching and Quirks Mode

Ak zadáte nasledovné



|_+_|, toto spustí štandardný režim.
  • Ide o prechodný dokument HTML 4.01
  • Pretože je v štandardnom režime, väčšina prehliadačov vykreslí obsah v súlade (alebo väčšinou v súlade) s HTML 4.01 Transitional
  • A ak dáte toto

    |_+_| vyhlásenie, prejdú do módu quirks. Obidva tieto príklady teda uvedú IE 6 do módu quirks, aj keď |_+_| prepínanie prvkov

    • IE 5.5 quirks mód (IE 8 a 9)
    • Režim štandardov IE 7 (IE 8 a 9)
    • IE 8 takmer štandardný režim (IE 8 a 9)
    • Režim štandardov IE 8 (IE 8 a 9)
    • IE 9 takmer štandardný režim (IE 9)
    • Režim štandardov IE 9 (IE 9)
    • Režim XML (IE9)

    IE 8 tiež zaviedol režim kompatibility, kde si používateľ mohol vybrať zmenu modelu vykresľovania späť na režim IE 7. Takže aj keď nastavíte režim, ktorý chcete nastaviť pomocou oboch

    |_+_| a |_+_| by vaša stránka mohla stále



    Čo je režim Quirks?

    Režim Quirks bol vytvorený, aby pomohol vysporiadať sa so všetkým podivným vykresľovaním a podporou prehliadača, ktorá nie je v súlade, a hackmi, ktoré weboví dizajnéri používali na riešenie týchto vecí. Výrobcovia prehliadačov mali obavy, že ak prepnú svoje prehliadače na plnú špecifikáciu, weboví dizajnéri zostanú pozadu. Nastavením

    |_+_| atribút funguje napr. IE8 a IE9 majú veľmi dramatické zmeny v skriptovaní v režime quirks.

    Existuje tiež rozdiel v režime takmer štandardov:



    • Výška buniek tabuľky, v ktorých sú iba obrázky, sa počíta inak ako v štandardnom režime.

    Ako si vybrať DOCTYPE

    Podrobnejšie sa venujem v mojom článku

    |_+_|, toto by ste mali používať.
  • Ak potrebujete overiť staršie prvky alebo sa chcete z nejakého dôvodu vyhnúť novým funkciám, prejdite na prísne HTML 4.01:
  • Ak máte v tabuľke rozdelené obrázky a nechcete ich opraviť, prejdite na stránku Transitional HTML 4.01:
  • Nepíšte stránky zámerne v móde vtipov. Vždy používajte |_+_|. To vám ušetrí čas na vývoj v budúcnosti a skutočne to nemá žiadny prínos. IE6 rýchlo stráca na popularite a navrhovaním pre tento prehliadač (čo je v podstate to, čo je navrhovanie v režime quirks) obmedzujete seba, svojich čitateľov a svoje stránky. Ak musíte písať pre IE 6 alebo 7, použite podmienené komentáre na ich podporu, namiesto toho, aby ste nútili moderné prehliadače do módu quirks.
  • Prečo používať DOCTYPE

    Keď ste si vedomí tohto typu



    |_+_| Ak prepínate, môžete svoje webové stránky ovplyvniť priamočiarejšie pomocou |_+_| ktorý označuje, čo môže prehliadač od vašej stránky očakávať. Tiež, keď začnete používať
    DOCTYPE

    Verzie prehliadača a režim Quirks



    |_+_| Android
    Chrome
    Firefox
    IE 8+
    iOS
    Opera 7.5+
    Safari
    IE 6
    IE 7
    Opera 7
    Netscape 6
    žiadne Režim Quirks Režim Quirks Režim Quirks
    HTML 3.2
    Režim Quirks Režim Quirks Režim Quirks
    HTML 4.01
    Prechodný Režim štandardov* Režim štandardov* Režim štandardov
    Prechodný Režim Quirks Režim Quirks Režim Quirks
    Prísne Režim štandardov Režim štandardov* Režim štandardov
    Prísne Režim štandardov Režim štandardov* Režim štandardov
    HTML5
    Režim štandardov Režim štandardov* Režim Quirks

    *Vďaka tomuto DOCTYPE sú prehliadače takmer v súlade so štandardmi, ale majú určité problémy – nezabudnite otestovať. Toto je tiež známe ako takmer štandardný režim.