Possible Duplicate:
What are the different doctypes in html and what do they mean?
Поскольку я довольно неопытен в определенных аспектах веб-разработки (я всегда больше концентрировался на серверной части, чем на передней), может ли кто-нибудь поделиться со мной своими мыслями о том, следует ли мне беспокоиться о декларации DOCTYPE, сделанной в начале веб-страниц?
Является ли наиболее распространенным HTML 4.01, и должен ли я создавать свои веб-приложения в соответствии с этим стандартом?






Джон Ресиг (jQuery) говорит в этом вопросе. Кроме того, DocType помогает сделать MSIE6 используйте правильную коробочную модель, а также облегчает проверку вашего сайта (это хорошо для разработки; воспринимайте это как отладку).
Вы обязательно должны включить DOCTYPE в качестве первого оператора на ваших страницах, потому что он переключит веб-браузеры в стандартный режим. Это означает, что они, по крайней мере, попытаются отобразить вашу страницу, используя стандарты W3C и IETF, а не следуя обратно-совместимой модели, известной как режим quirks.
Основываясь на моих собственных наблюдениях, сейчас Переход на XHTML 1.0al используется чаще, чем HTML 4.01. XHTML 1.0 Transitional - это своего рода промежуточный вариант, который дает вам некоторые преимущества XHTML, не будучи слишком обременительным.
Несмотря на все передовые практики, основная причина, по которой люди используют DOCTYPE, например XHTML 1.0 Transitional, - это переключить блочную модель CSS в IE, чтобы она была такой же, как и в остальных браузерах. Это позволяет избежать разочарования, связанного с версткой CSS. Это объясняется здесь более подробно: http://css.maxdesign.com.au/listamatic/about-boxmodel.htm
DTD используются для проверки и определения сущности. Они грубо определяют требования к синтаксису для определенного языка разметки и версии.
Проверка может выполняться по DTD с помощью валидатора. Или это может быть сделано пользовательским агентом во время синтаксического анализа (как в случае некоторых анализаторов HTML / XML подтверждение). Сущности, определенные в DTD, могут быть доступны, если пользовательский агент поддерживает это.
Объявление DOCTYPE - это способ языка разметки (по крайней мере, в HTML и XML) для ссылки на встроенный / внешний DTD в документе.
Теперь, что касается парсеров HTML (текст / html) браузеров, объявление DOCTYPE просто управляет режимом рендеринга (переключение DOCTYPE). В зависимости от версии HTML, на которую имеется ссылка, и от того, указан ли DTD URI или нет, будет выбран режим «Стандарт», «Почти стандарты» или «Причуды». Фактический dtd не используется.
Например, переходный док-тип XHTML 1.0 с URI DTD может только перевести браузер в почти стандартный режим, тогда как документ XHTML 1.0 Strict с DTD URI должен перевести браузер в стандартный режим. Кроме того, HTML5 doctype <! DOCTYPE html> переведет все браузеры в режим стандартов и переведет IE8 + в режим супер стандартов (так что при рендеринге он ведет себя немного больше, чем современные браузеры). Однако в целом тип документа мало влияет на поддержку Javascript и DOM (хотя есть исключения, особенно с IE8).
Для браузеров, поскольку вам почти всегда нужен полный стандартный режим, все, что вам действительно нужно, это <! DOCTYPE html>. Больше ничего не поможет браузеру. Однако этот doctype предназначен для HTML5. Если вы хотите соответствовать HTML 4.01 DTD или XHTML 1.0 DTD, вы должны использовать HTML 4.01 strict или XHTML 1.0 strict с правильными URI DTD, чтобы получить полный стандартный режим.
Если вы хотите соответствовать HTML5, вы можете проверить свой синтаксис на http://validator.nu/. Он не проверяется на соответствие DTD и является более продвинутым, чем проверка DTD. Он также отражает HTML 5 лучше, чем DTD, и, поскольку HTML5 лучше отражает то, что браузеры действительно поддерживают, его проверка синтаксиса более совместима с миром браузеров.
Если вы хотите соответствовать HTML 4.01 или XHTML 1.0 DTD, используйте валидатор W3C. Просто обратите внимание, что эти DTD не отражают то, что поддерживают браузеры, а лишь приблизительно отражают спецификации, для которых они предназначены. Эти DTD предназначены только для выявления грубых синтаксических ошибок и для пользовательских агентов, не использующих браузер, которые их полностью используют. Они также ничего не знают о различиях в поведении браузеров между text / html и application / xhtml + xml.
Чтобы прочитать о переключении Doctype браузер:
http://www.mozilla.org/docs/web-developer/quirks/doctypes.html