С декларации <!DOCTYPE> должен начинаться любой HTML документ. Эта декларация должна располагаться перед тегом <html>.
В действительности декларация <!DOCTYPE> не является тегом HTML. Это специальная инструкция для браузера, информирующая его о том, какая версия HTML используется на данной странице.
В HTML 4.01 декларация <!DOCTYPE> ссылается на DTD (определение типа документа, которое задает синтаксис конструкций разметки), так как HTML 4.01 базируется на SGML (стандартный обобщённый язык разметки). DTD определяет правила для языка разметки, благодаря этому браузер корректно отображает контент страницы.
HTML5 не базируется на SGML и поэтому ему не нужно ссылаться на DTD.
Необходимо всегда добавлять декларацию <!DOCTYPE> в HTML документ, чтобы браузер знал, документ какого типа он получил.
Если эта декларация не используется или используется неправильно, браузер будет думать, что вы не знаете, что вы делаете, и переключится в режим "обратной совместимости", при котором вывод многих элементов осуществляется совсем не так, как должно быть на самом деле. Это может показаться жестом гибкости и всепрощения, но на практике приводит к случайным и непонятным результатам.
Декларация должна быть в точности такая, как в примере (включая написание заглавными буквами слова 'DOCTYPE'). В отличие от других тегов этот тег не закрывается.
Разница между HTML 4.01 и HTML5
В HTML 4.01 существует три разновидности декларации <!DOCTYPE>. В HTML5 есть только один вид декларации.
Виды декларации DOCTYPE
HTML 5
<!DOCTYPE html>
HTML 4.01 Strict
Эта DTD содержит все HTML элементы и атрибуты, ИСКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
Эта DTD содержит все HTML элементы и атрибуты, ВКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
Эта DTD аналогична HTML 4.01 Transitional, при этом допускается использование фреймового контента.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict
Эта DTD содержит все HTML элементы и атрибуты, ИСКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается. При этом разметка должна соответствовать правилам XML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
Эта DTD содержит все HTML элементы и атрибуты, ВКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается. При этом разметка должна соответствовать правилам XML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
Эта DTD аналогична XHTML 1.0 Transitional, при этом допускается использование фреймового контента.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
Эта DTD аналогична XHTML 1.0 Strict, при этом можно добавлять различные модули (например, для предоставления поддержки восточно-азиатских языков).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
HTML пример использования
Декларация HTML документа по стандарту HTML5:
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
</head>
<body>
Содержимое документа......
</body>
</html>