





Тип документа определяет, какую версию HTML / XHTML использует ваш документ. Вы хотели бы использовать doctype, чтобы при запуске кода через валидаторы валидаторы знали, с какой версией HTML / XHTML проверять. На этой странице представлен хороший обзор:
Не забудьте добавить тип документа
Общие типы документов, которые вы можете использовать, перечислены здесь:
Какой тип документа вам следует выбрать, зависит от используемого кода, но чтобы получить представление, попробуйте запустить свой код через валидатор W3C и использовать раскрывающееся меню тип документа в меню «Дополнительные параметры», чтобы попробовать разные типы документов.
Тип документа - это документ, описывающий, как может выглядеть содержимое xhtml-подобного документа (например, веб-страницы). Примечание: это определяет только синтаксис указанной страницы, отображение страницы НЕ определяется DTD!
Например, тип документа может определять, как может выглядеть тег <table> - какие атрибуты он принимает и какие значения / типы значений принимаются для каждого атрибута. Думайте об этом как о лексиконе вашей текущей веб-страницы.
Википедия имеет информативную страницу о различных типах Doctypes, которые широко используются. Имейте в виду - ничто не мешает вам создать свой собственный доктайп. Однако есть вероятность, что браузер, вероятно, не знает, как визуализировать ваш документ.
Какой DTD использовать, зависит от того, что вы собираетесь писать. Например, XHTML имеет совершенно другое DTD, чем HTML.
Прежде всего, не существует единого документа, который вы должны использовать, но большинство дизайнеров стараются заставить его работать в XHTML 1.0 Strict.
Тип документа - это не что иное, как объявление тегов, которые вы можете использовать в своем html (хотя браузеры могут использовать больше или меньше, чем определено). Фактически вы можете открыть файл документа и начать чтение (XHTML 1.0 Strict)
Если вы не укажете doctype, браузер будет стараться угадать, но не всегда выбирает правильный тип.
Режим Quirks - это просто метод, используемый браузерами для обеспечения обратной совместимости, отличный пример режима quirks - это то, как IE отображает коробки
Doctypes сообщает браузеру, на каком языке написана страница, будь то HTML или XHTML. Например,
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
скажите браузеру отобразить страницу как HTML4 strict. Старые браузеры неправильно отображали страницы, и поэтому новые браузеры имитируют ошибки старых браузеров, когда находят старый тип документа.
Сегодня вам следует использовать как минимум HTML4 или лучше XHTML.
Запись в блоге о доктипах - Исправьте свой сайт с правильным DOCTYPE! (от Список отдельно).
DOCTYPE сообщает пользовательскому агенту-потребителю (веб-браузеры, поисковые роботы, инструменты проверки), какой тип документа представляет собой файл. Его использование гарантирует, что потребитель правильно проанализирует HTML-код в соответствии с вашими намерениями.
Существует несколько различных DOCTYPES для HTML, XHTML и наборов фреймов, и каждый из них имеет два режима: строгий и переходный. Strict говорит, что ваша разметка точно соответствует определенным стандартам. См. Страницу W3C DTD для получения дополнительной информации.
Quirksmode - это в основном метод компоновки из времен войны браузеров, когда стандарты были гораздо менее уважаемыми и определяемыми. Как правило, страница стандартного режима, которая является допустимой, будет более согласована в разных браузерах, но может не иметь определенных функций, которые вам требуются. Одной из таких функций является целевой атрибут тега привязки. Сайт Quirksmode - отличный источник информации об этих различиях.
Последняя мысль заключается в том, что новый стандарт HTML5 предлагает использовать очень простой DOCTYPE:
<!DOCTYPE html>
Использование этого DOCTYPE - это прямой совместимый способ указать, что ваши страницы находятся в стандартном режиме и являются HTML. Это метод, который использует Google, и его довольно легко запомнить. Я рекомендую использовать этот DOCTYPE, если вы не планируете использовать XHTML.
HTML-тег DOCTYPE? Если да, то зачем нам это вообще нужно?
@vipinkoul тег DOCTYPE указывает, какой тип HTML-документа вы отправляете User-Agent. Это может быть HTML, XHTML или набор фреймов. И это может быть Strict HTML / XHTML / Frameset или Transitional HTML / XHTML / Frameset. В основном это влияет на то, как анализатор реагирует на ошибку.
По сути, DOCTYPE описывает HTML, который будет использоваться на вашей странице.
Браузеры также используют DOCTYPE для определения способа визуализации страницы. Отсутствие DOCTYPE или включение неправильного может вызвать режим причуд.
Особенность здесь в том, что режим quirks в Internet Explorer сильно отличается от режима quirks в Firefox (и других браузерах); Это означает, что у вас будет более сложная работа много, пытаясь обеспечить, чтобы ваша страница отображалась согласованно во всех браузерах, если активирован режим причуд, чем у вас, если она отображается в стандартном режиме.
В Википедии есть более подробное описание различия в рендеринге при использовании разных DOCTYPE. XHTML поддерживается некоторыми DOCTYPE, и есть довольно много споров об использовании XHTML, который хорошо освещен в XHTML - мифы и реальность.
Существуют тонкие различия между различными "совместимыми со стандартами" DOCTYPE отрисовки, такими как DOCTYPE HTML5 (<!DOCTYPE html>, до HTML5, известный только как "skinny doctype", который не запускает стандартизованный рендеринг в старых браузерах) и другими DOCTYPE, такими как этот для переходного HTML 4.01:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Сейчас я предпочитаю HTML5 DOCTYPE: <! DOCTYPE html> он работает во всех современных браузерах, включая IE6.
IE6 ∉ современные браузеры
В сети doctype ничего не делает, но сообщает браузеру, нужны ли вам стандарты, почти стандарты или режим причуд.
Какие изменения в режиме совместимости зависят от браузера: Firefox, Opera, Safari и Chrome реализуют ограниченный набор особенностей, например удаление места для нижних элементов текста в коде, таком как <table><tr><td><img></td></tr></table> (решение: td img { vertical-align:bottom; }). IE, с другой стороны, возвращается к механизму рендеринга в IE5.5. Это означает, что вы не сможете использовать любой новых функций, реализованных с 2000 года.
Чтобы запустить стандартный режим, я предлагаю использовать тип документа HTML5, <doctype html>, поскольку его легче всего запомнить.
В HTML (включая XHTML), используемом на веб-страницах, DOCTYPE - это строка, которая запускает один из нескольких режимов браузера (режим причуд, стандартный режим, почти стандартный режим), в зависимости от точного написания DOCTYPE. Вы хотите использовать его, чтобы выбрать режим браузера, который лучше всего подходит для вашей страницы.
Формально в SGML и XML объявление DOCTYPE - это ссылка на определение типа документа (DTD), которое определяет формальные правила синтаксиса языка разметки. Ни один браузер никогда не использовал DTD для чего-либо и даже не обращался к ним. Однако они используются валидаторами разметки SGML и XML, такими как Валидатор разметки W3C, за исключением режима HTML5. Следовательно, выбор DOCTYPE определяет, как работает валидатор, если документ передан ему. Однако режим работы валидатора также можно выбрать в его пользовательском интерфейсе. (Процессоры SGML и XML также могут использовать DOCTYPE по-разному, но вопрос, очевидно, предназначен для ограничения контекста HTML и веб-браузеров и тесно связанного программного обеспечения.)
Нет авторитетного списка DOCTYPE. Каждая спецификация или проект HTML определяет свой собственный DOCTYPE или DOCTYPE. Набор DOCTYPE, распознаваемых браузерами при выборе режима, зависит от браузера. На практике нет причин использовать DOCTYPE, отличный от <DOCTYPE html>как определено в HTML5, хотя HTML5 также перечисляет несколько «устаревших DOCTYPE». Вы можете использовать этот DOCTYPE, если вам нужен стандартный режим (рекомендуется для новых страниц), и не использовать DOCTYPE, если вы хотите режим quirks (который может вам понадобиться для старых страниц).
«Стандартный режим» обычно означает режим работы, при котором браузер следует HTML, CSS, DOM и другим спецификациям в максимальной степени. Обычно это не означает полного соответствия. «Режим причуд» различается в разных браузерах, но обычно он означает попытку имитировать поведение очень старых браузеров, таких как IE 5. Цель состоит в том, чтобы старые страницы работали, при условии, что они могут полагаться на функции и ошибки в старые браузеры. См. Описание Что происходит в режиме Quirks?. Обратите внимание на то, что в HTML5 существует довольно другая, более ограниченная концепция «режима причуд», которая очень похожа на документ под названием Quirks Mode Living Standard.
Типичная проблема заключается в том, что ширина элементов рассчитывается по-разному в режиме причуд и в стандартном режиме. Это означает, что макет страницы может быть более или менее изменен или даже полностью испорчен, если страница, предназначенная для работы в режиме причуд, просматривается в стандартном режиме (или наоборот).
Поэтому вам следует использовать <!DOCTYPE html> для новых страниц и сохранить тот DOCTYPE (если есть), который вы использовали для старых страниц.
Однако режим quirks означает, что в некоторых браузерах не поддерживаются многие новые функции CSS. Это означает, что если вы хотите улучшить старую страницу с помощью некоторой функции CSS3, вполне может потребоваться переключиться на DOCTYPE, который запускает стандартный режим. В таком случае вам необходимо просмотреть и протестировать страницу, чтобы увидеть, будет ли она работать в стандартном режиме.
Спасибо за дополнительную информацию, особенно за эти: «Ни один браузер никогда не использовал DTD для чего-либо и даже не обращался к ним» и «нет причин использовать DOCTYPE, кроме <DOCTYPE html> в качестве определено в HTML5».
Разве это не должна быть вики?