Вопрос

Мы часто видим <!DOCTYPE ...> следующее:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

Какова функциональность !DOCTYPE?

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

Решение

Наиболее значительное использование DOCTYPE - переключить браузер между режимом Quirks Mode и Standards Mode .

Эта функциональность появилась из-за " сломанной " рендеринг в старых версиях IE. Было понято, что если Microsoft просто «исправит» движок рендеринга IE многие существующие сайты не будут отображать должным образом. Таким образом, способ работает так: если вы вообще поместите любое допустимое объявление DOCTYPE на своей странице, предполагается, что вы знаете, что делаете, и ваш браузер будет отображаться в соответствии со стандартами, и если вы не помещайте один в это будет отрисовываться в старом " неправильном " путь.

Первоначально это было сделано в IE для Mac, но это поведение одинаково во всех версиях IE начиная с IE5, а также Firefox, Chrome, Safari и Opera.

DOCTYPE, как предполагается , является Определение типа документа . HTML является подмножеством SGML (как и XML). DTD сообщает синтаксическому анализатору, какой синтаксис вы используете. Поэтому на веб-странице ваш DOCTYPE должен соответствовать используемой вами версии HTML.

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

Он сообщает валидатору, какую версию HTML вы используете.Браузер использует эту информацию для правильного отображения страницы.

Вот правильная версия DOCTYPE:

  • HTML 4.01 Строгий, переходный, набор фреймов

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    
  • XHTML 1.0 Строгий, переходный, набор фреймов

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    
  • XHTML 1.1

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
  • HTML5

    <!DOCTYPE html>
    

Он сообщает вашему браузеру, какую версию HTML он загружает, делая время загрузки немного быстрее, так как браузер знает, чего ожидать.

Doctype - это стандарт, определенный w3c - когда вы слышите о веб-разработке на основе стандартов, это то, о чем они говорят. Идея использования типа документа заключается в том, что вы создаете действительный HTML, следующий за типом документа.

Если вы умны, вы можете написать свой собственный тип документа.

Основная (практическая) цель DOCTYPE - заставить IE перейти из «режима причуд». на «совместимый со стандартами режим», оба эти термина означают «ужасно нарушенный режим»; и «слегка нарушенный режим» (Соответственно).

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