Какова функциональность! DOCTYPE? - PullRequest
27 голосов
/ 30 ноября 2009

Мы часто видим <!DOCTYPE ...> следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

Какова функциональность !DOCTYPE?

Ответы [ 4 ]

25 голосов
/ 30 ноября 2009

Наиболее значительное использование DOCTYPE - переключение браузера между режимами Quirks Mode и Standards Mode .

Эта функциональность появилась из-за «сломанного» рендеринга в старых версиях IE. Понятно, что если бы Microsoft просто «исправила» движок рендеринга IE, многие существующие сайты не были бы отрисованы должным образом. Таким образом, способ работает так: если вы разместите любое действительное объявление DOCTYPE на своей странице вообще, предполагается, что вы знаете, что делаете, и ваш браузер будет отображаться в соответствии со стандартами, и если не помещайте один в это, окажет старый "неправильный" способ.

Первоначально это было сделано в IE для Mac, но это поведение одинаково во всех версиях IE, начиная с IE5, и Firefox, Chrome, Safari и Opera.

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

8 голосов
/ 30 ноября 2009

Он сообщает валидатору, какую версию HTML вы используете. Браузер использует эту информацию для правильного отображения страницы.

Вот правильная версия DOCTYPE:

0 голосов
/ 30 ноября 2009

Основная (практическая) цель DOCTYPE - заставить IE перейти из «режима причуд» в «режим, соответствующий стандартам», что является эвфемизмом для «ужасно нарушенного режима» и «слегка нарушенного режима» (соответственно).

0 голосов
/ 30 ноября 2009

Он сообщает вашему браузеру, какую версию HTML он загружает, делая время загрузки немного быстрее, поскольку браузер знает, чего ожидать.

Doctype - это стандарт, определенный w3c - когда вы слышите о веб-разработке на основе стандартов, это то, о чем они говорят. Идея использования типа документа заключается в том, что вы создаете действительный HTML, следующий за типом документа.

Если вы сообразительны, вы можете написать свой собственный тип учения.

...