У HTML (включаючи XHTML), що використовується на веб-сторінках, DOCTYPE - це рядок, який запускає один із кількох режимів браузера (режим примх, стандартний режим, майже стандартний режим), залежно від точного написання ДОКТОПУ. Ви хочете використовувати його, щоб вибрати режим браузера, який найкраще відповідає вашій сторінці.
Формально в SGML та XML декларація DOCTYPE є посиланням на визначення типу документа (DTD), яке визначає формальні правила синтаксису мови розмітки. Жоден веб-переглядач ніколи не використовував DTD ні для чого і навіть не звертався до них. Однак вони використовуються валідаторами розмітки SGML та XML, такими як перевірка розмітки W3C , за винятком режиму HTML5. Тому вибір DOCTYPE визначає, як працює валідатор, якщо документ йому подається. Однак режим роботи валідатора також може бути обраний у його користувальницькому інтерфейсі. (Процесори SGML та XML можуть також використовувати DOCTYPE і іншими способами, але, мабуть, питання має бути обмежене контекстом HTML та веб-браузерами та програмним забезпеченням, пов’язаним із ними.)
Немає авторитетного списку DOCTYPE. Кожна специфікація або чернетка HTML визначає свій власний DOCTYPE або DOCTYPE. Набір DOCTYPE, розпізнаних браузерами при виборі режиму, залежить від браузера. На практиці немає ніяких причин використовувати інший DOCTYPE, ніж <DOCTYPE html>
визначено в HTML5 , хоча HTML5 також перелічує декілька "застарілих DOCTYPE". Ви можете використовувати цей DOCTYPE, якщо ви хочете стандартного режиму (рекомендується для нових сторінок), а не використовувати DOCTYPE, якщо ви хочете режиму вигадок (який може знадобитися для застарілих сторінок).
"Режим стандартів" зазвичай означає режим роботи, коли браузер дотримується HTML, CSS, DOM та інших специфікацій найкращим чином. Зазвичай це не означає повну відповідність. "Режим химерності" відрізняється в різних браузерах, але загалом це означає спробу наслідувати поведінку дуже старих браузерів, таких як IE 5. Метою є підтримка роботи старих сторінок під припущенням, що вони можуть покладатися на функції та помилки в старі браузери. Дивіться опис Що відбувається в режимі Quirks? Зауважте, що в HTML5 існує досить інше, більш обмежене поняття «режим примх», яке дуже нагадує документ під назвою Quirks Mode Living Standard .
Типовим питанням є те, що ширини елементів обчислюються по-різному в режимі примх і в стандартному режимі. Це означає, що макет сторінки може бути більш-менш змінений або навіть повністю зіпсований, якщо сторінка, призначена для роботи в режимі диваків, переглядається в стандартному режимі (або навпаки).
Тож вам слід використовувати <!DOCTYPE html>
для нових сторінок і зберігати будь-який ДОКТИП (якщо такий є), який ви використовували для старих сторінок.
Однак режим quirks в деяких браузерах означає, що багато нових функцій CSS не підтримуються. Це означає, що якщо ви хочете покращити стару сторінку за допомогою якоїсь функції CSS3, можливо, буде потрібно перейти на ДОКТОМ, що запускає стандартний режим. У такому випадку вам потрібно переглянути та протестувати сторінку, щоб побачити, чи вона працюватиме в стандартному режимі.