<!DOCTYPE> призначений для задання типу поточного документа - DTD (document type definition, опис типу документа).
<!DOCTYPE> повинен бути першим елементом в вашому html-документі, він повинен йти перед тегом <html>.
<!DOCTYPE> це декларація, а не html тег, це інструкція для веб-браузера про те, як інтерпретувати поточну HTML сторінку, оскільки HTML існує в декількох версіях, крім того, є XHTML (EXtensible HyperText Markup Language, розширена мова розмітки гіпертексту), схожа на HTML, але розрізняється з ним по синтаксису. І щоб браузер правильно інтерпретував вашу сторінку необхідно завжди вказувати <!DOCTYPE>
В HTML 4.01 <!DOCTYPE> відноситься до DTD, тому що HTML 4.01 заснований на SGML. DTD визначає правила для мови розмітки, так що браузери коректно відображати вміст.
HTML5 не грунтується на SGML, отже, не вимагає посилання на DTD.
Загальні `<!DOCTYPE>` декларації.
DOCTYPE
Опис
HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Цей DTD містить всі HTML елементи і атрибути, але не включає перехідні та застарілі елементи (такі як font). Використання фреймів не допускається.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Цей DTD містить всі HTML елементи і атрибути, у тому числі перехідні та застарілі елементи (наприклад, font). Використання фреймів не допускається.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Цей DTD рівноцінний HTML 4.01 Transitional, але дозволяє використовувати фрейми.`
HTML 5
<!DOCTYPE html>
Для HTML5 документів.
XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Цей DTD містить всі HTML елементи і атрибути, але не включає перехідні та застарілі елементи (такі як font). Використання фреймів не допускається. Розмітка повинна відповідати XML синтаксису.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Цей DTD містить всі HTML елементи і атрибути, у тому числі перехідні та застарілі елементи (наприклад, font). Використання фреймів не допускається. Розмітка повинна відповідати XML синтаксису.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Цей DTD містить всі HTML елементи і атрибути, у тому числі перехідні та застарілі елементи (наприклад, font) та фрейми. Розмітка повинна відповідати XML синтаксису.
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Цей DTD ідентичний XHTML 1.0 Strict, але дозволяє додавати модулі (наприклад, модуль підтримки східно-азіатських мов).