HTML DTD - в чем смысл?

Possible Duplicate:
What are the different doctypes in html and what do they mean?

Поскольку я довольно неопытен в определенных аспектах веб-разработки (я всегда больше концентрировался на серверной части, чем на передней), может ли кто-нибудь поделиться со мной своими мыслями о том, следует ли мне беспокоиться о декларации DOCTYPE, сделанной в начале веб-страниц?

Является ли наиболее распространенным HTML 4.01, и должен ли я создавать свои веб-приложения в соответствии с этим стандартом?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
5
0
1 077
4

Ответы 4

Джон Ресиг (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

http://www.opera.com/docs/specs/doctype/

http://hsivonen.iki.fi/doctype/

Другие вопросы по теме