1. 9. DOCTYPE

<!DOCTYPE html> — первое, что нужно указать в любом HTML-документе.

Чтобы понять, для чего указывать DOCTYPE, нужно вернуться в прошлое. В 2005 году верстальщики уже создавали сайты, но делали это по предыдущей версии спецификации — HTML4.01. Спецификация постоянно развивается и развилась сейчас до версии 5. В 2005 году верстальщик мог использовать тег <basefont> и для его времени это был обычный тег. В нынешней вёрстке такого тега уже не существует, так как по современной спецификации он считается устаревшим. Но когда мы открываем сайт с устаревшими тегами в современных браузерах, сайт выглядит так же, как и в 2005 году. Почему? Дело в том, что DOCTYPE сообщает браузеру, а точнее его движку отображения, какая именно версия HTML используется.

Что же такое DOCTYPE?

Ключевое слово DOCTYPE в файле HTML — это декларация типа документа: DOC (сокращение от слова document «документ») + TYPE (с английского «тип»).

Зачем указывать DOCTYPE?

Если вы не укажете DOCTYPE, браузер будет исходить из предположения, что вы писали код страницы с ошибками. В этом режиме браузер попытается разобрать вашу страницу по правилам обратной совместимости и выведет на экран, например, CSS так, как его вывел бы Internet Explorer 4 версии.

Проблема

На заре развития браузеров производители спешили захватить внимание пользователей «фичами» и не очень следили за стандартами. Более того, трактовали их как им удобнее. Это можно заметить и сейчас. Если проверить сайт на кроссбраузерность, то при одной и той же разметке и стилях, страница может выглядеть по-разному.

С одной стороны решить эту проблему несложно — производителям браузеров стоит лишь соблюдать требования спецификации W3C. На практике всё сложней — если резко перейти на новые правила игры, многие страницы перестанут отображаться правильно, тысячи сайтов попросту сломаются.

Решение

Решением стала возможность разработчикам самим выбрать тот стандарт, который они использовали при создании проектов. Это решение разработчик выражает с помощью DOCTYPE.

Вот несколько старых вариантов:

  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "www.w3.org/TR/html4/strict.dtd">

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Используйте современные стандарты и современный — <!DOCTYPE html>.

Last updated