Опубликовано: 25.06.2010 Последняя правка: 08.12.2015
HTMLXHTML
IEChromeFireFoxOperaSafari

Тип документа — <!DOCTYPE>

Конструкция <!DOCTYPE> определяет тип документа (DTD) и объявляет, к какой версии HTML относится страница. На сегодняшний день существует несколько основных версий HTML со своим набором правил (синтаксис, поддержка тегов и атрибутов), это HTML 4.01, XHTML 1.0 и XHTML 1.1. Поэтому необходимо, чтобы браузеры понимали к какой из них относится данный документ и правильно отображали веб-страницы.

<!DOCTYPE> следует указывать до объявления тега <HTML>. Если же его не указать, то браузер перейдет в режим обратной совместимости («quirk mode»). То есть он решит, что веб-страница писалась давно и под старые версии браузеров, поэтому ее надо отображать по правилам тех браузеров, со всеми вытекающими...

XHTML 1.1 создавался с целью замены стандартного HTML, но пока этого так и не произошло, он просто стал параллельной ветвью языка. На сегодняшний день работа над следующей версией XHTML (XHTML 2.0) остановлена в пользу HTML 5. По данным разработчиков законченная версия HTML 5 выйдет в 2014 или даже 2022 году (мнения расходятся).

Основные типы <!DOCTYPE> для разных версий HTML

HTML 4.01 Strict (строгое соответствие синтаксису языка)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional (переходный синтаксис языка)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset (переходный синтаксис языка плюс использование фреймов)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "https://www.w3.org/TR/html4/frameset.dtd">
HTML 5 (новая версия HTML в данный момент находящаяся в разработке)
<!DOCTYPE html>
XHTML 1.0 Strict (строгое соответствие синтаксису языка)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional (переходный синтаксис языка)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset (переходный синтаксис языка плюс использование фреймов)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Тип тега

Назначение: документ.

Модель тега: располагается перед открывающим тегом <HTML> или, если он не указан, перед тегами, относящимися к заголовку. Должен быть в документе в единственном экземпляре.

Открывающий тег: необходим. Закрывающий тег: запрещен.

Синтаксис

Указывается в точности так, как показано выше.

На многих сайтах можно встретить <!DOCTYPE> вида: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">, без указания в конце URL. Некоторые браузеры спокойно обрабатывают такой доктайп, но многие переходят в тот самый «quirk mode», поэтому лучше писать доктайп полностью.

Пример HTML: применение !DOCTYPE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>seodon.ru - Применение !DOCTYPE</title>
 </head>
 <body>
  <p>Контент - наполнение сайта, та самая информация, для которой и создается сайт.</p>
 </body>
</html>

Результат примера

Поддержка версиями HTML

Версия:HTML 4.01HTML 5XHTML 1.0XHTML 1.1
Поддержка:ДаДаДаДа

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

Браузер:Internet ExplorerGoogle ChromeMozilla FirefoxOperaSafari
Версия:6.0 и выше2.0 и выше2.0 и выше9.2 и выше3.1 и выше
Поддержка:ДаДаДаДаДа