HTML декларация <!DOCTYPE>

Декларация <!DOCTYPE> определяет версию HTML, которая используется в данном документе. Объявление версии является обязательным условием, так как браузер должен понимать, как интерпретировать страницу. В случае, если декларация отсутствует, браузер может некорректно отображать содержимое веб-страницы.

Декларация <!DOCTYPE> указывается до <html> тега. Декларация не чувствительна к регистру.

Синтаксис <!DOCTYPE>

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

Параметры <!DOCTYPE>

Элемент верхнего уровня — корневой контейнер документа, куда помещается все содержимое документа. Для HTML это тег <html>,

Публичность —документ может быть публичным (PUBLIC) или системным (SYSTEM). К системным относятся, например, локальные файлы. Для HTML/XHTML значением является PUBLIC.

Регистрация - различают два значения: плюс (+) — разработчик DTD зарегистрирован в международной организации по стандартизации (International Organization for Standardization, ISO) и - (минус) — разработчик не зарегистрирован в ISO. Для W3C значением является «-».

Организация — название разработчика DTD. Официальным разработчиком HTML/XHTML является W3C, это название и пишется в <!DOCTYPE>.

Тип — тип описываемого документа. Для HTML/XHTML значение указывается DTD

Имя — уникальный идентификатор документа для описания DTD.

Язык — язык, на котором составлено описание типа документа (две буквы в верхнем регистре). Для документа HTML/XHTML указывается английский язык (EN).

URL — ссылка на описание типа документа (например, https://www.w3.org/TR/html4/loose.dtd ).

Типы деклараций <!DOCTYPE>

Различают три типа деклараций <!DOCTYPE>:

Строгий (Strict): не содержит «устаревшие» и «не одобряемые» (deprecated) элементы.

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

Переходный (Transitional): содержит все элементы и атрибуты, включая устаревшие и не рекомендованные теги (для совместимости и перехода с более старых версий HTML). Использование фреймов запрещено.

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

С фреймами (Frameset): такой же как переходный, но при этом разрешает использование тегов для создания фреймов.

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

Для HTML 5 используется один вариант декларации.

<!DOCTYPE html>

Пример

<!DOCTYPE html>
<html>
  <head>
    <title>Декларация !DOCTYPE</title>
  </head>
  <body>
    <p>Параграф</p>
  </body>
</html>

Результат

Декларация !DOCTYPE

Поддержка браузера

chrome edge firefox safari opera

Практикуйте свои знания

Что такое DOCTYPE в HTML и для чего он используется?
Считаете ли это полезным?