Почему нам нужен DOCTYPE к страницам HTML/JSP?

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

5
задан gvlasov 11 August 2015 в 16:22
поделиться

3 ответа

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

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

и посмотрите статью о 24 способах « Переходная и строгая разметка »

при выходе HTML 5 вам нужно будет только объявить

<!DOCTYPE HTML>
8
ответ дан 18 December 2019 в 08:26
поделиться

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

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

2
ответ дан 18 December 2019 в 08:26
поделиться

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

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

Вот фрагмент HTML, демонстрирующий ошибку блочной модели в IE. Скопируйте и запустите его. При наличии вы увидите прямоугольник. Без строки 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 наиболее заметно, когда вам нужен «пиксельный» веб-дизайн.

9
ответ дан 18 December 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: