Що таке 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 в блокових сайтах з використанням
Тип документа: оголошувати або не оголошувати?
Багато експертів і автоматичні валідатори вважають, що тип документа бити потрібно завжди. Але кщо врахувати той факт, що багато сайтів прекрасно відображаються в браузерах і без нього, виникає резонне питання: «А чи потрібен насправді?". Останнє слово за вами, але краще прислухатися до експертів і слідувати стандартам.
Помилки при використанні 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 зі списку
При написанні статті використовувалися матеріали з інших сайтів.