Тип документа — важнейшее понятие в HTML. DTD определяет структуру документов HTML, вложенность тегов, наличие атрибутов и их допустимые значения. Объявление типа документа является инструкцией браузеру для выбора режима отображения документа.
Тип документа задается конструкцией <!DOCTYPE, которая должна быть в его начале (причем, во избежание неправильной трактовки объявления DTD некоторыми браузерами, до этой конструкции не должно быть даже комментариев).
На сайте консорциума W3 можно посмотреть список DTD.
Существует 3 режима отображения документа: quirks mode, стандартный и «почти стандартный».
Quirks mode — это режим отображения, реализованный в Internet Explorer 5 и для совместимости поддерживаемый всеми браузерами (в отличных от Internet Explorer браузерах боксовая модель остаётся стандартной, но поддерживается высота таблиц 100%, особенности см. далее). Этот режим включается при отсутствии или неполном DOCTYPE.
В стандартном режиме браузер пытается отобразить документ в соответствии со спецификациями HTML (XHTML) и CSS. Этот режим включается при объявлении типа документа strict.
«Почти стандартный» режим — это стандартный режим с одним небольшим отличием: картинки в ячейках таблицы ведут себя как в quirks mode. Поддерживается некоторыми браузерами, такими как Mozilla и Opera. Режим включается с помощью объявления типа документа transitional и frameset.
Какие же существуют основные отличия между quirks mode и стандартным режимом:
- разная «боксовая» (или блочная) модель.
В quirks mode за ширину элемента принимается ширина контента + размер отступов + размер рамок. В стандартном режиме шириной является только ширина контента (в соответствии со спецификацией.
Различия в боксовых моделях проявляются только в Internet Explorer.
- Наследование установок шрифтов.
В quirks mode установки шрифтов для таблиц не наследуются.
- 100% высота таблиц.
В quirks mode существует возможность задания 100% высоты таблицы, даже если у контейнера высота auto. В этом случае, по спецификации, у таблицы тоже должна быть высота auto, однако в quirks mode таблица растягивается на 100% высоты контейнера.
- Поведение картинок в ячейках таблицы.
По спецификации, картинки выравниваются по базовой линии текста, т.е. при помещении их в ячейки таблицы, снизу картинки должен быть зазор, равный расстоянию между базовой линией и нижней границей строкового блока. В quirks mode такого зазора нет.
Теги: HTML
Теги: HTML
