Тип документа — <!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.01 | HTML 5 | XHTML 1.0 | XHTML 1.1 |
Поддержка: | Да | Да | Да | Да |
Поддержка браузерами
Браузер: | Internet Explorer | Google Chrome | Mozilla Firefox | Opera | Safari |
Версия: | 6.0 и выше | 2.0 и выше | 2.0 и выше | 9.2 и выше | 3.1 и выше |
Поддержка: | Да | Да | Да | Да | Да |