Тег <!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 -->
Назначение
- Определяет стандарт HTML/XHTML, по которому браузер должен обрабатывать страницу.
- Предотвращает «quirks mode» (режим совместимости), в котором браузеры имитируют старые ошибки отображения.
- Обязателен для валидного 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) могут не поддерживаться.