Користење на елементот DOCTYPE во режимот Quirks

Оставете го Doctype да ги става прелистувачите во Quirks режим

Ако сте дизајнирале веб страници повеќе од неколку месеци, најверојатно сте свесни за тешкотијата во пишувањето на страница која изгледа истото во сите прелистувачи . Всушност, тоа е невозможно. Многу прелистувачи беа напишани со посебни карактеристики кои само тие би можеле да се справат. Или тие имаат посебни начини за справување со нешта кои се различни од тоа како другите прелистувачи ги справуваат. На пример:

Проблемот за развивачите на прелистувачи е дека тие мора да креираат веб прелистувачи кои се компатибилни со веб страници изградени за постари прелистувачи. За да се справат со ова прашање, креаторите на прелистувачи креираа режими за работа на прелистувачите. Овие режими се дефинирани со присуство или отсуство на елемент DOCTYPE и она што го нарекува DOCTYPE.

Префрлување DOCTYPE и "Quirks Mode"

Ако го поставите следниов DOCTYPE на вашата веб-страница:

Модерните прелистувачи (Android 1+, Хром 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) би го протолкувале ова на следниов начин:

  1. Бидејќи има правилно напишано DOCTYPE, ова го активира стандардниот режим.
  2. Тоа е документ за транзиција на HTML 4.01
  3. Бидејќи тоа е во стандарден режим, повеќето прелистувачи ќе ја направат содржината во согласност (или најчесто е во согласност) со HTML 4.01 Transitional

И ако го ставите овој DOCTYPE во вашиот документ:

Ова им кажува на современите прелистувачи дека сакате да ја прикажете вашата HTML 4.01 страница во строга согласност со DTD.

Овие прелистувачи ќе одат во "строги" или "стандарди" режим и ќе ја направат страницата во согласност со стандардите. (Значи, за овој документ, тагови како што може да бидат целосно игнорирани од страна на прелистувачот, бидејќи елементот FONT е застарен во HTML 4.01 Strict.)

Ако целосно ја напуштите DOCTYPE, прелистувачите автоматски се прекршуваат во "quirks" режим.

Табелата подолу покажува што прават обичните прелистувачи кога се презентирани со различни заеднички DOCTYPE декларации.

Мајкрософт го прави потешко

Internet Explorer 6, исто така, ја има функцијата дека ако поставите нешто воопшто над декларацијата DOCTYPE, тие ќе одат во режимот на quirks. Значи, и двата од овие примери ќе го стават IE 6 во режим на quirks, иако DOCTYPE декларациите велат дека се во строги стандарди:

и XHTML 1.1 DOCTYPE:

Плус, ако добиете минатото IE6, тогаш имате "функција" што ја додаде Мајкрософт во IE8 и IE9: префрлување на META елементот и црната листа на веб-страници. Всушност, овие две верзии на прелистувачот сега имаат до седум (!) Различни режими:

IE 8, исто така, воведе "Режим на компатибилност" каде што корисникот може да избере да го смени моделот за рендерирање назад кон IE 7 режим. Така што дури и ако го поставите режимот што сакате да го поставите користејќи ги двете елементи DOCTYPE и META, вашата страница сè уште може да се врати назад во помалку компатибилен режим.

Што е Quirks Mode?

Quirks мод беше создаден за да помогне во справувањето со сите чудни рендерирање и несоодветни поддржувачи на прелистувачи и хаки што веб-дизајнерите ги користат за да се справат со тие работи. Загриженоста дека производителите на прелистувачи имале дека ако ги префрлат своите прелистувачи во целосна спецификација, веб дизајнерите ќе бидат оставени зад себе.

Со поставување на DOCTYPE преклопување и "Quirks Mode", ова им овозможи на веб-дизајнерите да одберат како сакаат да ги прикажат своите HTML-страници.

Ефекти на режимот Quirks

Постојат неколку ефекти што повеќето пребарувачи ги користат во Quirks Mode:

Исто така има и разлика во "Режимот Речиси стандарди":

Како да изберете DOCTYPE

Јас одам во повеќе детали во мојата статија DOCTYPE Листа, но тука се и некои општи правила:

  1. Секогаш прво изберете стандарден режим. И сегашниот стандард што треба да го користите е HTML5:
    Освен ако немате конкретна причина да избегнете користење на HTML5 DOCTYPE, тоа е она што треба да го користите.
  2. Одете на строг HTML 4.01 ако треба да ги проверите наследните елементи или сакате да избегнете нови функции поради некоја причина:
  3. Ако имате исечени слики во табела и не сакате да ги поправите, одете на Transitional HTML 4.01:
  4. Не напишете страници намерно во режимот на чудење. Секогаш користете DOCTYPE. Ова ќе ве спаси за време на развој во иднина, и навистина нема корист. IE6 е брзо губење на популарноста и со дизајнирање за овој прелистувач (што во суштина е она што дизајнирање во режим на quirks е), вие сами се ограничувате, вашите читатели и вашите страници. Ако мора да напишете за IE 6 или 7, тогаш користете условни коментари за да ги подржувате, наместо да ги принудувате модерните прелистувачи во режим на quirks.

Зошто да го користите DOCTYPE

Откако ќе бидете свесни за тоа како се одвива овој тип на DOCTYPE префрлување, можете директно да влијаете на вашите веб-страници со користење на DOCTYPE што укажува на тоа што пребарувачот може да го очекува од вашата страница. Исто така, откако ќе почнете со користење на DOCTYPE, ќе пишувате HTML кој е поблиску до валиден (сеуште треба да го потврдите). И со пишување валидна XHTML, ги поттикнувате креаторите на прелистувачи да изградат стандарди кои се компатибилни со прелистувачи.

Верзии на прелистувачот и режим на Quirks

DOCTYPE Андроид
Хром
Firefox
IE 8+
iOS
Opera 7.5+
Сафари
IE 6
IE 7
Opera 7
Netscape 6
Никој Мода на Quirks Мода на Quirks Мода на Quirks
HTML 3.2
Мода на Quirks Мода на Quirks Мода на Quirks
HTML 4.01
Преодна Стандарден режим * Стандарден режим * Стандарден режим
Преодна Мода на Quirks Мода на Quirks Мода на Quirks
Строг Стандарден режим Стандарден режим * Стандарден режим
Строг Стандарден режим Стандарден режим * Стандарден режим
HTML5
Стандарден режим Стандарден режим * Мода на Quirks
* Со оваа DOCTYPE, прелистувачите се блиску до стандардите што се усогласени, но имаат некои проблеми - бидете сигурни да ги тестирате. Ова е исто така познат како Режим на Речиси стандарди.