Вопрос

  • Что такое DOCTYPE и почему я хочу его использовать?
  • Какие различные типы документов я могу использовать?
  • В чем разница между стандартами и режимом quirks, и с какими причудами я могу столкнуться при использовании разных типов документов?

Наконец, каков правильный тип ДОКУМЕНТА, который я должен использовать?

Это было полезно?

Решение

По сути, DOCTYPE описывает HTML, который будет использоваться на вашей странице.

Браузеры также используют DOCTYPE для определения способа отображения страницы.Невключение DOCTYPE или включение неправильного DOCTYPE может вызвать режим quirks.Фишка здесь в том, что режим quirks в Internet Explorer сильно отличается от режима quirks в Firefox (и других браузерах), а это означает, что у вас будет намного более сложная задача - обеспечить согласованную работу вашей страницы во всех браузерах, если страницы отображаются в режиме quirks, чем если бы они отображались в стандартном режиме.

В Википедии есть более подробное изложение различия в рендеринге при использовании различных типов документов.XHTML поддерживается определенными типами документов, и существует довольно много споров об использовании XHTML, который хорошо освещен в XHTML — мифы и реальность.

Существуют тонкие различия между различными типами документов рендеринга "жалобы на стандарты", такими как doctype HTML5 (<!DOCTYPE html>, до HTML5 известный только как "skinny doctype", который не запускал стандартизированный рендеринг в старых браузерах) и другие типы документов, такие как этот для HTML 4.01 transitional:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

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

DOCTYPE сообщает потребляющему пользовательскому агенту (веб-браузеры, веб-сканеры, инструменты проверки), к какому типу документа относится файл.Его использование гарантирует, что потребитель правильно проанализирует HTML, как вы и предполагали.

Существует несколько различных типов документов для HTML, XHTML и Framesets, и каждый из них имеет два режима: Строгий и Переходный.Strict говорит о том, что ваша разметка точно использует определенные стандарты.Видишь Коды неисправностей W3C страница для получения более подробной информации.

Quirksmode - это, по сути, метод верстки времен войн браузеров, когда стандарты были гораздо менее уважаемыми и определенными.Как правило, страница в стандартном режиме, которая является допустимой, будет более согласованной в различных браузерах, но может не иметь определенных функций, которые вам требуются.Одной из таких функций является целевой атрибут тега привязки.В Причудливый Режим сайт - отличный ресурс для описания этих различий.

Последняя мысль заключается в том, что новый стандарт HTML5 предлагает использовать очень простой DOCTYPE:

<!DOCTYPE html>

Использование этого DOCTYPE - это прямой совместимый способ указать, что ваши страницы находятся в стандартном режиме и являются HTML.Это метод, который использует Google, и его достаточно легко запомнить.Я рекомендую использовать этот DOCTYPE, если только вы не планируете использовать XHTML.

Doctype определяет, какую версию HTML / XHTML использует ваш документ.Вы хотели бы использовать doctype, чтобы при запуске вашего кода через валидаторы они знали, с какой версией HTML / XHTML следует сверяться.На этой странице представлен хороший обзор:

Не забудьте добавить doctype

Общие типы документов, которые вы можете использовать, перечислены здесь:

Рекомендуемый список DTD

Какой тип документа вам следует использовать, зависит от используемого вами кода, но чтобы получить представление, попробуйте запустить свой код через средство проверки W3C и использовать Тип документа выпадающее меню в меню "Дополнительные параметры", чтобы попробовать различные типы документов.

Служба проверки разметки W3C

В HTML (включая XHTML), используемом на веб-страницах, DOCTYPE - это строка, которая запускает один из нескольких режимов браузера (режим quirks, стандартный режим, почти стандартный режим), в зависимости от точного написания DOCTYPE.Вы хотите использовать его для выбора режима браузера, который наилучшим образом соответствует вашей странице.

Формально в SGML и XML объявление DOCTYPE является ссылкой на Определение типа документа (DTD), которое определяет формальные правила синтаксиса языка разметки.Ни один браузер никогда ни для чего не использовал DTDS и даже не обращался к ним.Однако они используются средствами проверки разметки SGML и XML, такими как Валидатор разметки W3C, за исключением режима HTML5.Таким образом, выбор DOCTYPE определяет, как работает средство проверки, если документ отправлен в него.Однако режим работы валидатора также можно выбрать в его пользовательском интерфейсе.(Процессоры SGML и XML могут использовать DOCTYPEs и другими способами, но вопрос, по-видимому, должен быть ограничен контекстом HTML, веб-браузерами и тесно связанным программным обеспечением.)

Авторитетного списка типов документов не существует.Каждая спецификация HTML или черновик определяет свой собственный DOCTYPE или типы документов.Набор типов документов, распознаваемых браузерами при выборе режима, зависит от браузера.На практике нет никаких причин использовать DOCTYPE, отличный от <DOCTYPE html> как определено в HTML5, хотя HTML5 также перечисляет несколько “устаревших типов документов”.Вы можете использовать этот тип ДОКУМЕНТА, если вам нужен стандартный режим (рекомендуется для новых страниц), и не использовать тип документа, если вам нужен режим quirks (который может понадобиться для устаревших страниц).

“Стандартный режим” обычно означает режим работы, при котором браузер максимально соответствует HTML, CSS, DOM и другим спецификациям.Обычно это не означает полного соответствия.“Режим причуд” отличается в разных браузерах, но обычно это означает попытку имитировать поведение очень старых браузеров, таких как IE 5.Цель состоит в том, чтобы поддерживать работу старых страниц, исходя из предположения, что они могут полагаться на функции и ошибки в старых браузерах.Смотрите описание Что происходит в режиме Quirks? Обратите внимание, что в HTML5 существует несколько иная, более ограниченная концепция “режима причуд”, которая очень напоминает документ под названием Причудливый Режим Уровень жизни.

Типичная проблема заключается в том, что ширина элемента вычисляется по-разному в режиме quirks и в режиме стандартов.Это означает, что макет страницы может быть более или менее изменен или даже полностью испорчен, если страница, предназначенная для работы в режиме quirks, просматривается в стандартном режиме (или наоборот).

Поэтому вы должны использовать <!DOCTYPE html> для новых страниц и сохраните любой DOCTYPE (если таковой имеется), который вы использовали для старых страниц.

Однако режим quirks означает, что в некоторых браузерах многие новые функции CSS не поддерживаются.Это означает, что если вы хотите улучшить старую страницу с помощью какой-либо функции CSS3, вполне может потребоваться переключиться на DOCTYPE, который запускает стандартный режим.В таком случае вам необходимо просмотреть и протестировать страницу, чтобы увидеть, будет ли она работать в стандартном режиме.

Типы документов сообщают браузеру, на каком языке написана страница, будь то HTML или XHTML.Например,

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

скажите браузеру, чтобы он отображал страницу как HTML4 strict.Старые браузеры использовались для неправильного отображения страниц, и поэтому новые браузеры имитируют ошибки старых браузеров при обнаружении старого doctype.

Сегодня вы должны использовать как минимум HTML4 или лучше XHTML.

Запись в блоге о doctypes - это Исправьте Свой сайт С помощью правильного DOCTYPE! (из Отдельный Список).

Прежде всего, не существует единого doctype, который вы должны использовать, но большинство дизайнеров пытаются заставить его работать в рамках XHTML 1.0 Strict.

Doctype - это не что иное, как объявление того, какие теги вы можете использовать в своем html (хотя браузеры могут использовать больше или меньше того, что определено) На самом деле вы можете открыть файл doctype и начать чтение (XHTML 1.0 Строгий)

Если вы не укажете doctype, браузер будет изо всех сил пытаться угадать, но не всегда найдет правильный тип.

Режим Quirks - это просто метод, используемый браузерами для обеспечения обратной совместимости, отличным примером режима quirks является то, как IE рендерит коробки

В Интернете doctype ничего не делает, кроме как сообщает браузеру, хотите ли вы использовать стандартный, почти стандартный или необычный режим.

Какие изменения в режиме quirks зависят от браузера:Firefox, Opera, Safari и Chrome реализуют ограниченный набор особенностей, таких как удаление места для текстовых дескрипторов в коде, подобном <table><tr><td><img></td></tr></table> (решение: td img { vertical-align:bottom; }).IE, с другой стороны, возвращается к движку рендеринга в IE5.5.Это означает, что вы не сможете использовать Любой из новых функций, внедренных с 2000 года.

Чтобы запустить стандартный режим, я предлагаю использовать HTML5 doctype, <doctype html>, так как это легче всего запомнить.

Doctype - это документ, который описывает, как может выглядеть содержимое документа, подобного xhtml (например, веб-страница). Примечание:это определяет только синтаксис указанной страницы, рендеринг страницы НЕ определяется DTD!

Например, doctype может определять, как <table>-тег может выглядеть следующим образом - какие атрибуты он принимает, и какие значения / valuetypes принимаются для каждого атрибута.Думайте об этом как о словаре для вашей текущей веб-страницы.

Википедия содержит информационную страницу о различных типах документов, которые широко используются.Имейте в виду - ничто не мешает вам создать свой собственный doctype.Однако есть вероятность, что браузер, вероятно, не знает, как отобразить ваш документ.

Какой DTD использовать, зависит от того, что вы собираетесь написать.Например, XHTML имеет совершенно другой DTD, чем HTML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top