Подтвердить что ты не робот

Какой режим IE6, если doctype html как HTML5?

Если веб-страница имеет doctype как HTML5.

<!doctype html>

Какой режим рендеринга для IE6?

document.compatMode сообщает CSS1Compat. Он выглядит стандартным режимом, а не режимом причуд. Но это правда? IE6 выпущен до того, как будет введен термин HTML5. Как IE6 может распознать документ HTML5?

4b9b3361

Ответ 1

Тип документа HTML5 был специально выбран потому, что это была самая короткая строка типа doctype, которая вызвала режим стандартов во всех браузерах (начиная с IE6). Это было преднамеренное решение, основанное на том, что будет работать в браузерах, которые уже используются.

Другими словами, если вы укажете <!doctype html>, IE6 должен перейти в режим стандартов, а не режим quirks.

Причина, по которой это работает, заключается в том, что IE6 (и другие) на самом деле довольно мягко относятся к doctype; они делают предположение, что если там есть doctype, разработчик, вероятно, должен был быть в стандартном режиме. Если они не признают этого, они предполагают, что либо разработчик сделал опечатку, либо появился новый доктрип, который был не там, когда был выпущен браузер; в любом случае браузер пытается сделать все возможное и работать в стандартном режиме. Команда HTML5 обнаружила, что html была самой короткой возможной версией типа doctype, которая вызвала это поведение, поэтому его использование в качестве документа HTML5.

То, что, конечно, не имеет в виду тип документа HTML5, - это запуск старых браузеров, таких как IE6, для поддержки каких-либо новых возможностей HTML5. Это действительно очевидно. Такие продукты, как Modernizr и HTML5Shiv могут помочь с это, но только до точки.