Що таке doctype

Веб-майстер (англ. Webmaster) - людина, яка професійно або в якості хобі займається розробкою веб-сайтів в Інтернеті або корпоративних додатків в інтранеті. Wikipedia

У своїй практиці я пару раз зіткнувся з такою ситуацією, коли, скопіювавши вихідний код для вивчення, я бачив у своєму браузері зовсім іншу картинку ніж на сторінці-зразку. І довго не міг зрозуміти, чому це відбувалося - на кшталт скопіював весь код прикладу, а результат виходив інший. Зрештою я звертав увагу на ту саму першу сходинку коду з DOCTYPE, яку раніше завжди ігнорував. Це змусило мене уважно звернутися до цієї проблеми і, нарешті, розібратися з даним терміном.

Що таке DOCTYPE?

Цей тег повинен завжди перебувати в першому рядку кожної сторінки. Тег DOCTYPE - ключовий компонент web-сторінок, які претендують на відповідність стандартам: без нього ваш код і CSS не пройдуть перевірку валідатором.

При відсутності DOCTYPE в документі браузер спробує отрендеріть документ так як він вважає за потрібне, а не так як цього планував розробник або вимагають стандарти. Природно, ні про яку валідації і мови бути не може.

типи документів

Quirks Mode - Невизначене стан

При Quirks Mode в браузерах порушуються рекомендації W3C для забезпечення нормального відображення сторінок. Для різних браузерів існують різні варіанти сумісності з попередніми версіями. Власне мета Quirks mode - коректне відображення сторінок, написаних для старих браузерів. При створенні нових, сучасних сторінок слід виконувати вимоги стандартів і рекомендацій і дотримуватися Standards mode.

Standards Mode - Стандартний режим

При Standards Mode сучасні браузери повинні однаково правильно представляти відповідну стандартам сторінку.

Almost Standards Mode - Майже відповідає стандартам

У браузерах Mozilla, Safari і Opera 7.5 ще існує третій варіант "the Almost Standards mode" (майже відповідає стандартам), який мало строго слідує рекомендаціям W3C. У Mac IE 5, Windows IE 6, Opera до 7.5 і Konqueror відсутня Almost Standards mode, тому що вони і так не можуть працювати відповідно до CSS2, тому вони будуть знаходитися в цьому випадку в Standards modes. Фактично, їх Standards modes це Almost Standards mode браузера Mozilla, а не повноцінний Standards modes. Важливо пам'ятати: браузери мають однакові основні стану, але навіть при однакових стану вони все одно працюють по-різному.

Як декларація DOCTYPE впливає на відображення браузерами?

Розглянемо такий приклад: на деяких сайтах веб-майстри використовують кольорову вертикальну смугу прокрутки, щоб вона вписувалася в загальний стиль сайту. Однак зміни кольору смуги прокрутки є порушенням стандартів CSS2. У браузерах IE 6 і Opera 9 це працює, якщо в HTML вказано неповний DOCTYPE стандарту HTML 4.01 Transitional (). В інших випадках правила в таблиці стилів перестають працювати, і смуга прокрутки набуває стандартний вид. У Mozilla Firefox кольорові смуги прокрутки ніколи не працювали.

Особливо важлива наявність повної декларації DOCTYPE в блокових сайтах з використанням

. При табличній верстці помилки в коді не призводять до якихось катастрофічних наслідків у відображенні Internet Explorer 6.0 в документах без декларації. Спотворення можуть бути в відображенні Mozilla Firefox.

Тип документа: оголошувати або не оголошувати?

Багато експертів і автоматичні валідатори вважають, що тип документа бити потрібно завжди. Але кщо врахувати той факт, що багато сайтів прекрасно відображаються в браузерах і без нього, виникає резонне питання: «А чи потрібен насправді?". Останнє слово за вами, але краще прислухатися до експертів і слідувати стандартам.

Помилки при використанні DOCTYPE

На багатьох сайтах можна зустріти на сторінках наступний варіант тега DOCTYPE, який був без всяких змін перенесений з сайту w3.org:

А виглядати DOCTYPE повинен ось так:

Цей варіант DOCTYPE містить в кінці повний варіант URI, а значить браузер знає, де цей документ треба знайти в мережі, і отже виведе вашу сторінку в тому стандарті, який ви згадали в DOCTYPE.

Використання DOCTYPE в Expression Web

До речі, Expression Web використовує DOCTYPE для валідації і для завершення коду за технологією IntelliSense, контролюючи процес написання документа. У налаштуваннях програми ви можете встановити, який тип документа буде використовуватися за замовчуванням. Для цього в меню Tools виберіть Page Editor Options, далі виберіть вкладку Authoring і встановіть Document Type Declaration.

  • Натисніть клавіші CTRL + HOME - курсор переміститься на початок сторінки (Line 1, Column 1)
  • Натисніть CTRL + ENTER - з'явиться меню з вибором DOCTYPE
  • Виберіть необхідний DOCTYPE зі списку

При написанні статті використовувалися матеріали з інших сайтів.