Какова функциональность !DOCTYPE?
Вопрос
Мы часто видим <!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 перейти из «режима причуд». на «совместимый со стандартами режим», оба эти термина означают «ужасно нарушенный режим»; и «слегка нарушенный режим» (Соответственно). Р>