Спочатку йде doctype
Ви напевно хочете знати, що таке "DTD" або doctype. DTD є скороченням від "Document Type Definition" ( "Визначення типу документа"), і, крім усього іншого, воно визначає, які елементи і атрибути допустимо використовувати в певній різновиди HTML - абсолютно вірно, існують різні версії HTML. які використовуються сьогодні в Web. але не турбуйтеся про це - вам треба в дійсності турбуватися тільки про одне.
doctype використовується для двох речей, різними видами програмного забезпечення:
- Браузери Web використовують його для визначення, який режим відтворення вони повинні використовувати (режими відтворення будуть розглянуті пізніше).
- Валідатори розмітки переглядають doctype. щоб визначити, згідно з якими правилами вони повинні перевіряти документ (про це також буде розказано пізніше).
Обидва ці пункти надають на вас вплив, але по-різному, що буде показано пізніше в цій лекції.
Навіть, хоча doctype може виглядати трохи дивно, він потрібен специфікаціям HTML і XHTML. Якщо doctype будуть відсутні, то буде отримана помилка валідації. коли синтаксис документа буде перевірятися валідатором розмітки W3C Markup або іншими інструментами, які перевіряють документ HTML на наявність помилок. Деякі браузери Web навіть містять такі функції за замовчуванням, в той час як інші можуть додавати їх за допомогою розширень.
Режими перемикання і подання doctype
Якщо doctype відсутній, браузери будуть обробляти і представляти документ у будь-якому випадку - вони повинні зробити спробу представити всі різновиди дивних об'єктів, з якими вони зіткнуться в Web. тому вони не завжди можуть бути дуже розбірливими. Однак без doctype результати можуть виглядати не так, як передбачалося, в зв'язку з так званим "аналізом doctype" або "перемиканням doctype".
Якщо вони знаходять doctype. який вказує, що документ закодований добре, вони використовують так званий "режим Standards", коли формують сторінку. У стандартному режимі браузери зазвичай намагаються представити сторінку відповідно до специфікацій CSS - вони сподіваються, що людина, яка створила документ, знав, що робить.
З іншого боку, якщо зустрічається застарілий або неповний doctype. використовується "режим Quirks", який більшою мірою сумісні зі старими методами і старими браузерами. Режим Quirks передбачає, що документ є старим, або що він не був створений з урахуванням стандартів Web - це означає, що сторінка Web буде як і раніше зображуватися, але потребують для цього значно більше обчислювальної потужності, і ви, швидше за все, отримаєте дивний або потворний результат, який зовсім не очікували.
Відмінності пов'язані в основному з тим, як видається CSS. і тільки в рідкісних випадках з тим, як інтерпретується реальний HTML.
Як дизайнер Web або розробник, ви отримаєте найбільш послідовні результати, перевіряючи, що всі браузери використовують режим уявлення Standards, тому ви повинні дотримуватися стандартів Web. і використовувати правильний doctype!
Як згадувалося раніше, doctype використовують також валідатори, про які ми дізнаємося більше пізніше в цій серії статей. Поки, все що потрібно знати, полягає в тому, що валідатор використовується для перевірки правильності синтаксису документа HTML. що він не містить ніяких помилок. Програми-валідатори переглядають використаний doctype. щоб визначити, які правила використовувати. Це почасти схоже на вказівку програмі перевірки граматики мови, на якому написаний документ. Якщо не повідомити це, то вона не буде знати, які правила правопису і граматики використовувати.
вибір doctype
Отже, тепер, коли ми знаємо, що потрібно вставити doctype. і для чого він використовується, як дізнатися, який з них вибрати? Справа в тому, що існує кілька видів doctype. Можна навіть створити свій власний, якщо потрібно щось більш спеціальне. Але я не збираюся перераховувати ціле безліч різних doctype. Я постараюся зберегти все простим і обмежуся двома.
Якщо ваш документ є кодом HTML. використовуйте:
Якщо ваш документ є XHTML. використовуйте:
Примітка. "Реальний" XHTML повинен бути представлений браузеру як код XML, але деталі того, як і коли робити це, і особливості, які є, знаходяться за рамками цієї конкретної лекції.
Можна помітити, що обидва зазначених тут doctype називаються "Strict" ( "Суворий"). Хоча це може звучати трохи загрозливим, це не так.
Існують сувора і перехідна різновиди HTML і XHTML. Строгий в даному випадку означає, що doctype допускає менше розмітки уявлення, ніж перехідний doctype. Розмітка уявлення, яка не допускається, не повинна в дійсності бути присутнім тут в будь-якому випадку, так як ви повинні використовувати HTML. щоб визначити структуру і значення документів, і CSS для визначення, як вони представляються. Використання суворого doctype допоможе з цим, так як валідатор буде попереджати про всі елементи або атрибути уявлення, які проникли в код.