Тег <!DOCTYPE> отвечает за тип документа в HTML (DTD "document type definition", описание типа документа). Если быть точнее, то это инструкция для браузера, сообщающая тип документа.
Возникает логичный вопрос: а что html разве бывает разный? Дело в том, что в разных версиях html появлялись новые теги. Также и в CSS появлялись новые свойства. Чтобы браузер корректно смог понять какому стандарту соответствует страница, рекомендуется четко указывать тип документа в <!DOCTYPE>.
Располагается <!DOCTYPE> в самом начале html-кода (перед тегом <html>).
Синтаксис <!DOCTYPE>
<!DOCTYPE [Элемент верхнего уровня] [Публичность] "[Регистрация]//[Организация]//[Тип] [Имя]//[Язык]" "[URL]"> <html> ...
Где:
- Элемент верхнего уровня — для HTML это тег <html>;
- Публичность — значение PUBLIC (объект является публичным) или SYSTEM (системным ресурсом). Например, таким как локальный файл. Для HTML/XHTML указывается значение PUBLIC;
- Регистрация — принимает одно из двух значений: плюс (+) — разработчик зарегистрирован в ISO и минус (-) — разработчик не зарегистрирован. Для W3C значение ставится минус;
- Организация — уникальное название организации, разработавшей DTD. Официально HTML/XHTML публикует W3C, это название и пишется в <!DOCTYPE>;
- Тип — тип описываемого документа (для HTML/XHTML значение DTD);
- Имя — уникальное имя документа для описания DTD;
- Язык — язык, на котором написан текст для описания объекта. Содержит две буквы, пишется в верхнем регистре. Например, EN;
- URL — адрес документа с DTD;
Рассмотрим какие стандартные значения встречаются чаще всего.
Таблица со значениями <!DOCTYPE> и описания к ним
DOCTYPE | Описание |
---|---|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | Строгий синтаксис HTML |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | Переходный синтаксис HTML |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> | В HTML-документе применяются фреймы |
<!DOCTYPE html> | Стандарт HTML5. Для всех документов. Рекомендуется использовать его на своих сайтах. |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | Строгий синтаксис XHTML. Включает все HTML элементы и атрибуты, кроме устаревших презентационных. Фреймсеты также не разрешены. |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | Переходный синтаксис XHTML. Включает все HTML элементы и атрибуты, вместе с устаревшими презентационными. Фреймсеты не разрешены. |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> | Тоже что и XHTML 1.0 Transitional, но разрешает фреймы. |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | Тоже что и XHTML 1.0 Strict, но разрешает добавление модулей. |
Какой <!DOCTYPE> выбрать
Подводя итоги можно сказать, что <!DOCTYPE> не является обязательным элементом, но его использование снижает риски возникновения проблем с отображением html-страницы в разных браузерах.
Фактически всем подойдёт следующий вариант:
<!DOCTYPE html> <html> ...
Читайте также:
• HTML тег <form> - подробное описание с примерами
• HTML тег <a> - подробное описание с примерами
• Фреймы (теги <framne>, <frameset>, <noframe>, <iframe>)
• Коды спецсимволов для HTML
• Как сделать фон для сайта
• Что такое микроразметка сайта
• Все про CSS border
• Все про CSS transition
• Кнопка html