Книга: HTML5 для веб-дизайнеров
Доктайп, скажите честно, я буду жить?
Доктайп, скажите честно, я буду жить?
Декларация типа документа, или сокращенно «доктайп», обычно используется для того, чтобы определить, какой именно версией разметки написан документ.
Доктайп для HTML 4.01 выглядит так (переносы строки обозначены»):
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
Вот доктайп XHTML 1.0:
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict //EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Не сильно человекочитаемо, но по-своему эти доктайпы просто говорят: «этот документ написан на HTML 4.01» и «и этот документ написан на XHTML 1.0».
Наверное, вы ожидаете, что в доктайпе, объявляющем «этот документ написан на HTML5», где-то будет цифра «пять». Не будет. Доктайп для HTML5 выглядит так:
<!DOCTYPE html>
Он настолько короткий, что я даже могу его запомнить.
Но это же безумие! Если в доктайпе нет номера версии, как мы сможем определить следующие версии HTML?
Когда я в первый раз увидел доктайп HTML5, я подумал, что это верх гордыни. «Неужели они действительно думают, – спросил я себя, – что это будет последняя спецификация разметки, написанная на Земле?»
В общем, казалось, что это случай из учебника по мышлению «с нуля».
На самом деле, однако, доктайп HTML5 весьма прагматичен. Так как HTML5 должен поддерживать существующее содержимое, этот доктайп может быть применен и к существующему документу на HTML 4.01 или XHTML 1.0. Любая будущая версия HTML тоже должна будет поддерживать существующее содержимое, написанное на HTML5, так что сам концепт применять номера версий к документам разметки имеет значительный изъян.
На деле доктайпы не имеют принципиального значения. Например, вы поставили в документ доктайп HTML 4.01. Если в этом документе окажется элемент из другой спецификации – например, из HTML 3.2 или из HTML5, – браузер все равно отобразит эту часть документа. Браузеры поддерживают функциональность, а не доктайпы.
Декларации типа документа предназначались не для браузеров, а для валидаторов. Единственный случай, в котором браузер обращает какое-либо внимание на доктайп, – когда он «переключает доктайп», – это маленький умный хак, который переключает режим отображения между нестандартным (quirks mode) и стандартным режимами в зависимости от присутствия подходящего доктайпа.
Минимальная информация, необходимая для того, чтобы браузер точно отобразил страницу в стандартном режиме, – и есть доктайп HTML5. На самом деле это вообще единственная причина включать какой-либо доктайп. HTML-документ без доктайпа HTML5 все равно вполне может быть валидным HTML5.
- Firebird 2.0 - взгляд в будущее
- Программируя Вселенную. Квантовый компьютер и будущее науки
- 7.9 Будущее управления хранилищами по версии ассоциации SNIA: стандарты SMI
- Как продолжить работать с данными, которые я сохранил вчера?
- Как расположить Панель задач сбоку или сверху?
- 1.2.1. Выбор вида туризма и ценовой категории будущего турпродукта
- При попытке войти в систему Пользователю1 выдается предупреждение, что загрузился временный профиль и все сделанные изме...
- Если я куплю 64-битный процессор, будут ли у меня работать программы, которые были разработаны специально для 32-битных ...
- 8. Будущее наступило вчера — а ты и не заметил!
- 5. Постигая культуру — чтобы понять перемены, их нужно пережить
- Обещание счастливого будущего
- Будущее маркетинга: горизонтальный, а не вертикальный