Зачем нам нужен DOCTYPE для страниц HTML / JSP? - PullRequest
5 голосов
/ 30 июня 2010

Зачем нам нужен тип документа на страницах HTML / JSP? Страницы, кажется, работают без него.

Ответы [ 6 ]

8 голосов
/ 30 июня 2010

В частности, Microsoft IE имеет серьезную проблему с определенными типами документов или полным их отсутствием. В нижней части этой страницы вы можете найти краткий обзор поведения браузера в сочетании с определенными типами документов. Существует три стандартных поведения:

  • Q - Quirksmode. Вы действительно не хотите иметь это. Это вызывает ошибка модели коробки в IE. CSS width и height тогда неправильно покрывают padding и border.
  • A - Почти стандартный режим. Доступно, только вертикальный размер ячеек таблицы не соответствует спецификации CSS2. Полезно, если вы хотите избежать загадочных разрывов изображений в ячейках таблицы .
  • S - Режим стандартов. Браузер пытается полностью соответствовать стандарту w3 HTML / CSS. Предпочтительный режим, поскольку это единственный режим, в котором вы можете быть менее или более уверены, что ваш веб-сайт будет выглядеть одинаково во всех браузерах.

Вот фрагмент HTML, который демонстрирует ошибку блочной модели в IE. Скопируйте и запустите его. При наличии <!DOCTYPE html> вы увидите прямоугольник. Без линии doctype вы увидите настоящий квадрат.

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Remove DOCTYPE to trigger quirksmode</title>
        <style>
            #box { 
                background: yellow; 
                width: 100px;
                padding: 20px; 
                border: 20px solid black; 
                margin: 20px;
            }
        </style>
    </head>
    <body>
        <div id="box">box</div>
    </body>
</html>

Влияние этой ошибки IE наиболее заметно, если вы хотите создать «pixelperfect» веб-дизайн.

8 голосов
/ 30 июня 2010

Зельдман писал

В соответствии со стандартами HTML и XHTML, DOCTYPE (сокращение от «объявление типа документа») информирует валидатор, какую версию (X) HTML вы используете.используя, и должен отображаться в самом верху каждой веб-страницы. DOCTYPE - это ключевой компонент веб-страниц, соответствующих требованиям: ваша разметка и CSS не будут проверяться без них.

и посмотрите статью 24 способов " Transitional vsСтрогая разметка"

в готовом HTML 5, вам нужно будет только объявить

<!DOCTYPE HTML>
1 голос
/ 30 июня 2010

См. http://www.quirksmode.org/css/quirksmode.html для полного обсуждения;короче говоря, doctype должен вызывать причуды / строгий режим рендеринга и поведения страниц.

К сожалению, люди начали добавлять doctype, не зная, что они делают, тем самым уменьшая их полезность.

0 голосов
/ 11 августа 2015

doctype это инструкция для браузера о том, какая версия языка разметки используется.doctype включает атрибут html.

0 голосов
/ 15 октября 2014

Когда вы устанавливаете DOCTYPE на странице, это переводит браузер в режим соответствия стандартам, который применяет более строгие правила рендеринга.

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

См. Эту ссылку на Не забудьте указать свой тип документа .

0 голосов
/ 25 сентября 2013

Конечно, все HTML-документы нуждаются в DOCTYPE, чтобы объявить версию html и указать браузеру, как переводить html, чтобы избежать многих ошибок браузера.

...