Мы часто видим <!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 ...>
следующим образом:
<!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 и рендером в режиме стандартизации.
Эта функция появилась из-за "разбитого" рендеринга в старых версиях IE. Было осознано, что если Microsoft просто "исправила" механизм рендеринга IE, многие существующие сайты не будут отображаться должным образом. Таким образом, как это работает, если вы помещаете какое-либо действительное объявление DOCTYPE вообще на своей странице, предполагается, что вы знаете, что делаете, и ваш браузер будет отображать стандартным образом, и если вы не поместите его в него будет выглядеть старым "неправильным" способом.
Это было сделано в IE для Mac, но такое поведение во всех версиях IE с IE5, Firefox, Chrome, Safari и Opera.
Предполагается, что DOCTYPE является Определение типа документа. HTML является подмножеством SGML (как и XML). DTD сообщает синтаксису синтаксиса, который вы используете. Таким образом, на веб-странице ваш DOCTYPE должен соответствовать версии HTML, который вы используете.
Он сообщает валидатору, какую версию HTML вы используете. Браузер использует эту информацию для правильного отображения страницы.
Вот правильная версия DOCTYPE:
HTML 4.01 Строгий, Transitional, Frameset
<!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 Строгий, Transitional, Frameset
<!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-кода загружается, делая время загрузки немного быстрее, когда браузер знает, чего ожидать.
Доктрипт - это стандарт, определенный w3c - когда вы слышите о стандартном веб-разработке, это то, о чем они говорят. Идея использования doctype заключается в том, что вы создаете допустимый HTML, который следует за doctype.
Если вы умны, вы можете написать свой собственный doctype.
Основная (практическая) цель DOCTYPE заключается в том, чтобы заставить IE перейти из режима "quirks" в "режим, совместимый со стандартами", как эвфемизмы для "ужасно нарушенного режима", так и "слабо сломанного режима" (соответственно).