Что происходит в браузерах при Quirks Mode

Posted on Октябрь 7, 2007
Filed Under doctype, quirks mode, browsers, bug, css, html |

Quirks Mode - это режим работы таких браузеров, как Internet Explorer (IE), Firefox и Opera. В принципе, Quirks Mode (также называемый режимом совместимости) означает, что относительно современный браузер преднамеренно имитирует многие ошибки в старых браузерах, в частности IE 4 и IE 5.

Цель Quirks Mode состоит в том, чтобы старые страницы показывать в современных браузерах так, как это и планировал автор (с учетом особенностей работы старых браузеров). Дополнительную информацию о Quirks Mode можно найти на сайте QuirksMode.org.

Нет никакой авторитетной спецификации того, что происходит при Quirks Mode.Этот режим, по сути, намеренное нарушение спецификаций HTML и CSS.

Если у Вас есть страница, которая, как Вам кажется, работает хорошо, но при этом отсутствует doctype-декларация (требуемая спецификациями HTML), Вы не можете просто вставить doctype. Причина в том, что декларация заставляет браузер работать в Standards Mode, что противоположно Quirks Mode. Это может означать что угодно. Я видел, когда добавляли doctype-декларацию, и все содержимое страницы исчезало. Чаще всего, расположение меняется довольно неожиданно. Но для Вас это может быть не так, если Вы знаете о том, что может случиться при Quirks Mode. Перед добавлением doctype-декларации, Вы должны проверить и HTML и CSS код на соответствие синтаксису, используя валидаторы. Во многих случаях этого может быть не достаточно, так как страница, возможно создавалась, полагаясь на вещи, которые будут “работать” только при Quirks Mode. Таким образом, после добавления doctype-декларации, Вы должны проверить страницу, по крайней мере, на IE 7 и Firefox 2 при Standards Mode. Если страница отображается некорректно, то для определения проблемы может быть полезен следующий список.

Создавая новую страницу, Вы не обязаны знать о Quirks Mode и не должны всегда думать об этом. Просто пишите согласно спецификациям HTML и CSS; это включает использование doctype-декларации, которая переводит современные браузеры в Standards Mode. Но если Вы решите использовать некоторые особенности, которые работают только при Quirks Mode, типа height=”100%” для элемента, Вы должны проверить список для других возможных значений.

Хотя и не все браузеры показывают эти особенности, в Quirks Mode браузеры ведут себя следующим образом :

Вольный перевод оригинала.

Comments

4 Responses to “Что происходит в браузерах при Quirks Mode”

  1. oqbo on Октябрь 14th, 2007 8:16 am

    Спасибо за статью. Я как раз столкнулся с такой проблемой при вёрстке. С помощью вас исправил все ошибки.

  2. never again on Октябрь 14th, 2007 11:29 am
    рад, что смог помочь!

    ради этого и веду блог)

  3. Призрак on Декабрь 25th, 2007 1:43 pm

    свойство visible:hidden означает, что контент будет доступен, и при этом размеры блока не будут изменяться
    Извините, но все таки это свойство называется overflow, а так статья хорошая, огромное спасибо. Лишний раз убеждает в том, что стоит использовать doctype и следовать стандартам во избежании проблем.

  4. never again on Декабрь 25th, 2007 2:18 pm
    Призрак: спасибо за внимательность, поправил)

Leave a Reply




Please copy the string s3SKPy to the field below: