<!DOCTYPE>

Описание

<!DOCTYPE> (от англ. document type — тип документа) является обязательной преамбулой и служит для указания типа текущего документа — DTD (document type definition, описание типа документа). Стандарт HTML5 рекомендует указывать данный элемент только в форме: <!DOCTYPE html>. Для предыдущих версий HTML и XHTML рекомендованы другие варианты, но все существующие на текущий момент браузеры используют такой тег DOCTYPE для отображения страницы в стандартном режиме, даже Internet Explorer 6. На сегодняшний день не существует веских причин для использования более сложного тега DOCTYPE.

Синтаксис

<!DOCTYPE [Элемент верхнего уровня] [Публичность] "[Регистрация]//[Организация]//[Тип] [Имя]//[Язык]" "[URL]">

Например

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

На сегодняшний день существует три режима отображения, которые используются движками разметки (layout engines) браузеров: режим совместимости (quirks mode), частично стандартный режим (almost standards mode) и стандартный режим (full standards mode). В режиме совместимости (quirks mode), разметка эмулирует нестандартное поведение браузеров Navigator 4 и Internet Explorer 5. Этот режим необходим для поддержки сайтов, созданных до начала широкого применения веб стандартов. В стандартном режиме (full standards mode) поведение браузера соответствует описанному в спецификациях HTML и CSS. В частично стандартном режиме (almost standards mode) реализовано лишь незначительное количество так называемых "странностей" (quirks).

Рассмотрим, использование различных DOCTYPE:

Стандартный режим:

<!DOCTYPE html>

Именно этот способ вы должны использовать. С помощью такого doctype вы можете применять новые функции, такие как <video>, <canvas> и ARIA.

Стандартный режим для устаревших стандартов:

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

Этот doctype также запускает стандартный режим, но позволяет придерживаться более устаревших версий стандартов, которые не знает о новых функциях. Но лучше использовать <! DOCTYPE html> и пересмотреть свою политику.

Вы хотите использовать Стандартный режим, но при этом не хотите исправлять "обрезанные" изображения в макетах таблиц:

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

Этот doctype дает вам режим «Частично стандартный». Обратите внимание, что ваши макеты, основанные на "обрезанных" изображениях в таблицах, скорее всего, сломаются, если вы перейдете в HTML5 (и, следовательно, в полный стандартный режим), поэтому лучше сделать ваши проекты совместимыми со стандартами прямо сейчас. Вы намеренно хотите использовать режим Quirks:

Нет doctype.

Пожалуйста, не делайте этого.

Пример

<!DOCTYPE html>
<html lang="ru">
 <head>
   <title>!DOCTYPE</title>
   <meta charset="utf-8">
 </head>
 <body>
   <p>HTML5 не основан на SGML (стандартный обобщенный язык разметки) и поэтому не требует ссылки на DTD описание типа документа). Объявление HTML 5 Doctype нечувствительно к регистру</p>
 </body> 
</html>

Совместимость браузеров

Настольные браузеры

Базовая поддержка 1121571

Мобильные браузеры

Базовая поддержка 11да161да

См. также: