Главная » Статьи » Web-кодинг » HTML

Про DOCTYPE и стандарты html

Итак... в этой заметке я хотела бы поделиться с общественностью своим мнением насчёт стандартов, и зачем они нужны.


Многие начинающие веб-дизайнеры не знают, а прогрессирующие не помнят что было когда-то такое время когда чётких правил написания разметки гипертекста не было, а тех которые были браузерам и пользователям не хватало и они выдумывали свои теги и атрибуты какие хотели.
Чтобы как-то разгрести всю эту кашу все теги описывались в так называемые спецификации, в которых группа W3C пытаясь урегулировать хаос предписывала браузерам что и как они должны отображать. Чтобы эти каши не путались в браузерах и заодно в головах вебмастеров было предложено (в спецификации HTML2.0) а потом стало обязательным (в спецификации HTML3.2) указание типа спецификации которой нужно придерживаться при отображении страницы. Указать это можно с помощью тега <!DOCTYPE> в начале документа.

Естественно были популярные браузеры которые на спецификации плевали, ну или по крайней мере не очень придерживались. И были разработчики которые верстали под популярные браузеры и на спецификации ещё больше плевали. Чтобы их сайты не разваливались, если вдруг кто-то на эту страницу свёрстанную не по стандарту зайдёт, в браузеры ввели опцию отображать страницу «по старинке», если этот самый DOCTYPE не был указан.
И было это во время Internet Explorer 5 под макось.
С тех самых вариант отображения «по старинке» (quirks mode - англ. "причудливый режим") у всех браузеров менялся, и в общем до сих пор у всех разный. Поэтому чтобы верстать в quiks mode нужно учитывать особенности всех популярных браузеров.

Технолог лебедева в статье «тип документа объявлять или не объявлять»(2005 г.) утверждают "<!DOCTYPE> вам не требуется", глупенький, к счастью сейчас не 2005-й год и эти слова в серьёз принемать не стоит.

Сейчас все браузеры научились корректно отображать HTML в стандартном режиме, как написано в спецификации и как отображают другие браузеры. Старый браузер IE6 ежемесячно теряет больше чем по 5% всей аудитории и к концу года надеюсь сойдёт на нет. Тем более что недавно вышел IE8 который не то что HTML, а научился поддерживать CSS2.1 сразу и весь.

В «режиме соответствия стандартам» браузеры отображают код практически одинаково, без дополнительных ухищрений и хаков - это необходимая и достаточная причина для того чтобы уже начать его использовать. Для тех кто ранее верстал без него некоторые вещи необходимо будет выучить заново (ну 1-2 дня), например новую блочную модель и т.п.

Для начинающих советуется использовать «переходный» доктайп HTML 4.01 Transitional.
Он учитывает все стандарты, но не отменяет устаревшие теги типа <font> и <center> и т.п. Выглядит  он так:

Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

обязательно использовать именно такую строчку, не указание ссылки на .dtd считается ошибкой(!) и отображается «по старинке»!

Для тех кто со всеми стандартами знаком рекомендуется вариант Strict (строгий), верстать им - признак хорошего тона.

Code
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

В данном варианте допускается не использование ссылки на .dtd, но всё таки хороший тон оставить ссылку =).


Новый стандарт HTML5 пока что в состоянии черновика, и официально не должен поддерживаться, хотя поддерживается даже в IE6. Выглядит он так:

Code
<!DOCTYPE html>

Вот так вот просто, без всяких указаний DTD (document type declaration).


Далее о главном - буду плевать в верстальщиков (динозавров) которые его не поддерживают:

  • 1) GOOGLE - гугл состоит в рабочей группе whatwg которая занимается составлением стандарта HTML5. Уже сегодня можно найти доктайп этого стандарта на страницах результата поиска <!DOCTYPE html>. А вот на главной странице поставить забыли. Сэкономили 15 байт видимо. Можно оправдать что там и вёрстки-то нет, однако хочется чтобы гугл являл нам свет в непросвещённые умы, да.
  • 2) Яндекс - на всех страницах указан <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">, а то и вовсе не указан (например в панели вебмастера). Позор стыд и срам. Уже много лет так и висит. Когда я только начинала верстать я брала доктайп именно оттуда, и думала "ну... ничего не изменилось, фигня какая-то". Вот. И люди многие оттуда берут доктайп, я думаю.

Надо взять да и скачать главные страницы для всех доменов рунета (UPD: Скачала, см. статистику), хе-хе =) кто хочет посодействовать пишите в feedback предложения.

Автор: Елена Лунная
Источник: Usabili.ru



Источник: Про DOCTYPE и стандарты html,Статистика использования Doctype,доктайп HTML 4.01 Transitional,W3C,режим соответствия стандартам,Елена Лунная
Категория: HTML | Добавил: likbezz (30.07.2010)
Просмотров: 5109 | Теги: internet, веб-дизайнер, dtd, doctype, W3C, режим, стандарты, explorer, спецификация, браузер
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]