Вернуться к HTML

Тег <!DOCTYPE>

Тег <!DOCTYPE> — объявление типа документа (Document Type Declaration)

Этот тег определяет тип документа (DTD) и указывает браузеру, в какой версии HTML или XML написана страница. Он помогает браузеру правильно интерпретировать и отображать контент.


Синтаксис

<!DOCTYPE html>  <!-- Современный HTML5 -->

Другие варианты (устаревшие):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- HTML 4.01 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!-- XHTML 1.0 -->

Назначение

  1. Определяет стандарт HTML/XHTML, по которому браузер должен обрабатывать страницу.
  2. Предотвращает «quirks mode» (режим совместимости), в котором браузеры имитируют старые ошибки отображения.
  3. Обязателен для валидного HTML (без него возможны ошибки вёрстки).

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

Тег <!DOCTYPE> поддерживается во всех браузерах, включая:
Chrome, Firefox, Safari, Edge, Opera
Internet Explorer (все версии)

Если <!DOCTYPE> отсутствует, браузер переходит в режим совместимости (Quirks Mode), что может привести к некорректному отображению CSS и JS.


Основные типы <!DOCTYPE>

1. HTML5 (рекомендуемый)

<!DOCTYPE html>
  • Самый простой и современный вариант.
  • Поддерживает все новые теги (<section>, <video>, <canvas> и др.).

2. HTML 4.01

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • Transitional — допускает устаревшие теги (<font>, <center>).
  • Strict — требует строгого синтаксиса (без устаревших тегов).

3. XHTML 1.0

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • Более строгий, чем HTML (требует закрытия всех тегов, правильной вложенности).

Что будет, если не указать <!DOCTYPE>?

  • Браузер перейдёт в Quirks Mode (режим совместимости).
  • CSS и JavaScript могут работать некорректно.
  • Современные стандарты (Flexbox, Grid) могут не поддерживаться.