HTML можна кодувати декількома способами. Браузери також можуть читати HTML по-різному. Можна сказати, що в HTML є багато діалектів. Тому сайти виглядають по-різному в різних браузерах.
Майже з моменту зародження інтернету почалися спроби виробити загальний HTML-стандарт на World Wide Web Consortium (W3C), який заснував Тім Бернерс-Лі (ага! той крутий хлопець, який винайшов HTML). Але це довгий і тривалий шлях.
За старих часів - коли за браузери треба було заплатити - Netscape був основним браузером. Існували HTML-стандарти .0 і 3.2. Але на ринку, на 90% зайнятому Netscape не було необхідності в загальних стандартах. Крім того, Netscape винаходив власні дивні елементи, які не працювали на інших браузерах.
Багато років Microsoft майже ігнорував інтернет. Потім почалося змагання з Netscape, і з'явився новий браузер. Перші версії нового браузера Microsoft'а - Internet Explorer - підтримували HTML-стандарти не краще, ніж Netscape. Але Microsoft вирішив поширювати свій браузер безкоштовно (це завжди вітається), і Internet Explorer незабаром став найпопулярнішим браузером.
Починаючи з версій 4 і 5, Microsoft все більш і більш підтримував HTML-стандарти від W3C. Netscape не займався розробкою нових версій і продовжував випускати застарілу версію 4.
Кінець цієї історії. Сьогодні HTML-стандарти називаються 4.01 і XHTML. Тепер вже Internet Explorer займає понад 90% ринку. В Internet Explorer теж є свої незвичайні елементи, але він також підтримує і W3C HTML-стандарти. Так само роблять і інші всі браузери, такі як Mozilla, Opera і Netscape.
Отже, якщо ви кодуєте HTML, дотримуючись стандартів W3C, ви робите web-сайти, які читаються всіма браузерами - зараз і в майбутньому. І, яка удача, те, що ви вивчили в цьому підручнику, це нова і більш сувора версія HTML, яка називається XHTML.
Круто! Можна, я розкажу ще комусь?
За наявності різних різновидів HTML ви повинні повідомляти браузеру, на якому "діалекті" HTML говорите ви, у нашому випадку - XHTML. Для цього використовуйте Document Type Definition / визначення типу документа. DTD завжди записується на самому початку документа:
Приклад 1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <title>Title</title> </head> <body> <p>text text</p> </body> </html>
Крім Document Type Definition (перший рядок приклад), який повідомляє браузеру, що ви пишете на мові XHTML, ви повинні вставити також додаткову інформацію в тег html за допомогою атрибутів xmlns і lang.
xmlns, це скорочення від "XML-Name-Space", завжди повинен мати значення http://www.w3.org/1999/xhtml. Це все, що потрібно знати. Але, якщо ви цікавитеся складними питаннями, можете прочитати про namespaces на W3C web-сайті
В атрибуті lang ви вказуєте, на якій мові написаний документ. Для цього використовується стандарт ISO 639, в якому перераховані коди всіх мов світу. У попередньому прикладі встановлений English ("en").
За допомогою DTD браузер точно знає, як він повинен читати і відображати ваш HTML. Використовуйте цей зразок як шаблон для ваших майбутніх HTML-документів.
DTD також має важливе значення при перевірці ваших сторінок.