Подтвердить что ты не робот

Зачем мне нужен doctype? (Что оно делает)

Возможный дубликат:
HTML: Какова функциональность! DOCTYPE

Недавно я задал здесь вопрос, и решение было простым:

Вам нужно добавить doctype на страницу. Это должно решить проблему для вас.

Теперь мои страницы отлично работают в каждом браузере без doctype (кроме IE). Нужен ли IE doctype (это только IE), и другие браузеры просто предполагают, что он ИЛИ, или он делает что-то, чего я не вижу.

Каковы его функции и как они работают?

4b9b3361

Ответ 1

Все браузеры нуждаются в doctype. Без DOCTYPE вы вынуждаете браузеры отображать в режиме Quirks.

Однако DOCTYPE использовался только браузерами в определении диалекта и разбора, хотя это и было целью. Вот почему HTML5 уменьшил DOCTYPE до просто:

<!DOCTYPE html>

2.2. DOCTYPE

Синтаксис HTML HTML5 требует указания DOCTYPE для обеспечения того, чтобы браузер отображал страницу в стандартном режиме. DOCTYPE не имеет других целей и поэтому является необязательным для XML. Документы с типом мультимедиа XML всегда обрабатываются в стандартном режиме. [DOCTYPE]

Объявление DOCTYPE <!DOCTYPE html> и не учитывает регистр в синтаксисе HTML. DOCTYPE из более ранних версий HTML были длиннее, потому что язык HTML был основан на SGML и поэтому требовал ссылки на DTD. С HTML5 это уже не так, и DOCTYPE требуется только для включения режима стандартов для документов, написанных с использованием синтаксиса HTML. Браузеры уже делают это для <!DOCTYPE html>.

Источник: HTML5 отличия от HTML4: DOCTYPE

Ответ 2

Doctype делает две вещи.

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

Если нет doctype или нет нераспознанного, тогда он использует режим "quirks" и интерпретирует документ как можно лучше. Если есть doctype, и он его распознает, то он следует стандартам. Результаты рендеринга могут варьироваться в зависимости от того, как он интерпретирует документ.

Ответ 3

Почему?

Зачем указывать doctype? Потому что определяет, какая версия (X) HTML ваша документ фактически используется, и это является важной частью информации необходимых для некоторых инструментов, обрабатывающих документ.

Например, указывая тип ваш документ позволяет использовать инструменты таких как валидатор разметки для проверки синтаксис вашего (X) HTML. Такие инструменты не смогут работать, если они не знайте, какой документ вы используя.

Но самое главное, что с большинством семейств браузеров, Объявление doctype сделает много угадать ненужные и, таким образом, запускать "стандартный" режим рендеринга.

Источник: http://www.w3.org/QA/Tips/Doctype

Ответ 4

У вас должен быть DOCTYPE для ЛЮБОГО браузера. Он сообщает браузеру, как интерпретировать html и css. Вот почему html4 и html5 имеют разные определения (как и xhtml). Все очень важно для проверки.

То, что IE будет делать, это поместить документ в то, что он называет "режимом quirks", который в основном игнорирует целую кучу правил того, как CSS должен (по современным определениям) вести себя. Вот хорошее резюме проблемы. Он возвращается к плохим старым временам нестандартной поддержки CSS

Ответ 5

Браузеры должны, как минимум, отображать в так называемом стандартном режиме. См. Статью Джона Ресига о html 5 doctype: http://ejohn.org/blog/html5-doctype/. Теперь, если вы хотите, чтобы ваш браузер не использовал стандарты и не делал их, как в 1990 году, не добавляйте ничего, и вы увидите, что поплавки и другие стандартные элементы не работают правильно. Если вы хотите, чтобы ваша страница отображалась/проверялась в соответствии с конкретным стандартом, вы хотели бы добавить больше к типу документа, но это необязательно.

Ответ 6

Объявление doctype должно быть самое первое в HTML-документе, перед тегом.

Объявление doctype не является HTML тег; это инструкция для Интернета браузера о том, какая версия язык разметки страница написана в.

Объявление doctype относится к Определение типа документа (DTD). DTD определяет правила разметки языка, чтобы браузеры отображали содержимое правильно.

Ссылка

Ответ 7

Из W3Schools doctype является "инструкцией для веб-браузера о том, какая версия языка разметки написана на странице". (http://www.w3schools.com/tags/tag_doctype.asp)

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

Ответ 8

Из W3Schools.com:

Объявление doctype не является HTML тег; это инструкция для Интернета браузера о том, какая версия язык разметки страница написана в.

Есть несколько различных доктринов, и их изменение может кардинально изменить способ отображения вашей страницы.