Ответ 1
Тип документа HTML5 был специально выбран потому, что это была самая короткая строка типа doctype, которая вызвала режим стандартов во всех браузерах (начиная с IE6). Это было преднамеренное решение, основанное на том, что будет работать в браузерах, которые уже используются.
Другими словами, если вы укажете <!doctype html>
, IE6 должен перейти в режим стандартов, а не режим quirks.
Причина, по которой это работает, заключается в том, что IE6 (и другие) на самом деле довольно мягко относятся к doctype; они делают предположение, что если там есть doctype, разработчик, вероятно, должен был быть в стандартном режиме. Если они не признают этого, они предполагают, что либо разработчик сделал опечатку, либо появился новый доктрип, который был не там, когда был выпущен браузер; в любом случае браузер пытается сделать все возможное и работать в стандартном режиме. Команда HTML5 обнаружила, что html
была самой короткой возможной версией типа doctype, которая вызвала это поведение, поэтому его использование в качестве документа HTML5.
То, что, конечно, не имеет в виду тип документа HTML5, - это запуск старых браузеров, таких как IE6, для поддержки каких-либо новых возможностей HTML5. Это действительно очевидно. Такие продукты, как Modernizr и HTML5Shiv могут помочь с это, но только до точки.