<!DOCTYPE

Автор: Евгений Рыжков Дата публикации: 07.01.2009

Назначение тега DOCTYPE

SGML декларация !DOCTYPE (англ. document type — тип документа) указывает на тип документа (Document Type Definition - DTD). В зависимости от типа документа браузер выбирает режим отображения документа. Этот процесс назвали переключение типа документа или doctype sniffing.

Если браузер определяет документ как «современный», он отображает его в стандартном режиме (standards mode). Это значит, что таблицы стилей, использующиеся в документе соответствуют спецификации CSS2.

Если браузер определяет, что документ написан по устаревшим правилам, он отобразит его в режиме совместимости (quirks mode). В режиме совместимости браузер игнорирует часть правил CSS, имитируя поведение старого движка. Режим совместимости работает по разному и зависит от браузера.

Opera (версии 7 и выше), Firefox и Safari имеют третий режим, который называется режим, приближенный к стандартному (almost standards mode), в котором расположение рисунков в ячейках таблицы отображается в режиме совместимости (не работает вертикальное выравнивание). Во всех остальных случаях этот режим эквивалентен стандартному режиму.

Подробней о режимах будет посвящена отдельная статья.

Использование тега DOCTYPE

Определение типа документа (DTD) должно присутствовать на каждой странице до тега html.

Пример типичного объявления DTD:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Тут:

  • html указывает на первый тег документа;
  • PUBLIC говорит, что это общедоступный ресурс;
  • минус символизирует, что W3C не зарегистрирована в ISO;
  • W3C — название организации-автора спецификации;
  • DTD — тип объекта;
  • XHTML 1.1 — название спецификации;
  • EN — язык спецификации;
  • http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd — адрес, где спецификация находится (не обязательно указывать)

Синтаксис определение типа документа часто называют сокращенно «Doctype».

Варианты тега DOCTYPE

Стандарт HTML 4.01 Strict (строгий)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Не содержит элементов, помеченных как «устаревшие» или «не одобряемые».

Стандарт HTML 4.01 Transitional (переходный)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML.

Стандарт HTML 4.01 Frameset (с фреймами)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

Аналогичен переходному, но содержит также теги для создания наборов фреймов.

Стандарт XHTML 1.0 Strict (строгий)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Не включает поддержку «устаревших» дескрипторов и атрибутов. Полностью отделяет содержание от оформления.

Стандарт XHTML 1.0 Transitional (переходный)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Есть поддержка многих «устаревших» определений и атрибутов. Предназначен для упрощения перехода со старых версий HTML.

Стандарт XHTML 1.0 Frameset (фреймовый)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Применяется при разработке на основе фреймов.

Стандарт XHTML 1.1 (модульный)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Не включает поддержку «устаревших» дескрипторов и атрибутов. Доступен импорт дополнительных свойств в разметку.

Стандарт XHTML Basic (основной)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/DTD/xhtml-basic10.dtd">

специальная облегчённая версия XHTML для устройств, которые не могут использовать полный набор элементов (X)HTML — в основном используется в компактных устройствах.

Проверка действительности (X)HTML-документа

Разработчиками комитета W3C была создана программа проверки действительности (X)HTML-документов. Доступна по адресу http://validator.w3.org/. Возможные варианты проверок:

  • проверка URI;
  • проверка загруженного файла;
  • проверка введенного кода в поле

При использовании Macromedia Dreamweaver можно воспользоваться встроенным валидатором:
Встроенный валидатор в Dreamweaver

Надежней проверка будет на сайте W3C.

Подготовке материала посодействовали:

По теме