!DOCTYPE

Оновлено: 09.06.2022

<!DOCTYPE> (від англ. document type - тип документа) призначений для вказівки типу поточного документа - DTD (document type definition, опис типу документа). Це необхідно, щоб браузер розумів, як слід інтерпретувати поточну вебсторінку, оскільки HTML існує в кількох версіях, крім того, є XHTML (EXtensible HyperText Markup Language, розширена мова розмітки гіпертексту), схожий на HTML, але відмінний від синтаксису. Щоб браузер «не плутався» і розумів, за яким стандартом відображати вебсторінку, необхідно в першому рядку коду задавати <!DOCTYPE>.

Існує кілька видів <!DOCTYPE>, вони відрізняється залежно від версії мови, на яку вони орієнтовані. У табл. 1. наведено основні типи документів зі їх описом.

Табл. 1. Допустимі DTD

DOCTYPEОпис
HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/str...">Суворий синтаксис HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loo...">Перехідний синтаксис HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/fra...">У HTML-документі застосовуються фрейми.
HTML 5
<!DOCTYPE html>Для всіх документів.
XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DT...">Суворий синтаксис XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DT...">Перехідний синтаксис XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DT...">Документ написано на XHTML, і він містить фрейми.
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/D...">Розробники XHTML 1.1 припускали, що він поступово витіснить HTML. Ніякого розподілу на види це визначення не має, синтаксис один і підпорядковується чітким правилам.

Синтаксис

<!DOCTYPE [Елемент верхнього рівня] [Публічність] "[Реєстрація]//[Організація]//[Тип] [Им'я]//[Мова]" "[URL]">

Закриваючий тег

Не потрібен.

Атрибути

елемент верхнього рівня вказує елемент верхнього рівня в документі, для 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 адреса документа з DTD.

Приклад

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
  "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
   <title>!DOCTYPE</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 </head>
 <body>
  <p>Разум — это Будда, а прекращение умозрительного мышления — это путь. 
  Перестав мыслить понятиями и размышлять о путях существования и небытия, 
  о душе и плоти, о пассивном и активном и о других подобных вещах, 
  начинаешь осознавать, что разум — это Будда, 
  что Будда — это сущность разума, 
  и что разум подобен бесконечности.</p>
 </body> 
</html>
<!DOCTYPE html>
<html>
 <head>
   <title>!DOCTYPE</title>
   <meta charset="utf-8">
 </head>
 <body>
  <p>Разум — это Будда, а прекращение умозрительного мышления — это путь. 
  Перестав мыслить понятиями и размышлять о путях существования и небытия, 
  о душе и плоти, о пассивном и активном и о других подобных вещах, 
  начинаешь осознавать, что разум — это Будда, 
  что Будда — это сущность разума, 
  и что разум подобен бесконечности.</p>
 </body> 
</html>

Примітка

Internet Explorer до версії 6.0 вимагає, щоб <!DOCTYPE> стояв обов'язково у першому рядку коду. Інакше браузер переходить у режим сумісності (quirk mode).

Хоча значення URL не є обов'язковим, деякі браузери за його відсутності можуть перейти в режим сумісності, тому HTML4 вказуйте повний шлях до DTD-файлу, як показано в табл. 1.

Специфікація

СпецифікаціяСтатус
WHATWG HTML Living StandardЖивий стандарт
HTML5Рекомендація
HTML 4.01 SpecificationРекомендація

Браузери

doctype

Переглянути сумісність з Can I use?

doctype