Структура html, DOCTYPE

Оглавление
04 июля 2009 г.

Во главе документа html стоит Doctype. Немного о том, для чего он нужен: DOCTYPE объявляет интернет-обозревателю тип документа, который предстоит обработать и определяет правила этой обработки. Не объявляя DOCTYPE, вы подвергаете свой html-документ (сайт) полной анархии со стороны обозревателей. Каждая программа будет трактовать написанное как ей вздумается, а это чревато большими проблемами. В HTML 4.01 присутствует три вида DOCTYPE.

Сегодня очень широко применяется стандарт HTML5, который ещё не вышел официально и вряд ли в ближайшие 2-3 года выйдет, так как ждали его выхода ещё в середине 2014-го года. Но уже сейчас большинство его возможностей обозреватели поддерживают и есть смысл изучать его в первую очередь.

Статья была написана в 2009-ом году. С тех пор утекло много воды. На данный момент актуальным является HTML5 и Doctype у него один единственный с очень лаконичной и короткой записью:

<!DOCTYPE HTML>

Вернёмся к Doctype HTML 4. Выглядят эти три вида так:

Doctype №1: Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
Doctype №2: Transitional                                             
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                           "http://www.w3.org/TR/html4/loose.dtd">
Doctype №3: Frameset                                                  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
                    "http://www.w3.org/TR/html4/frameset.dtd">

Теперь подробнее о каждом из них:

  1. Doctype Strict: Объявляет документ, полностью соответствующий стандарту HTML 4. Я советую сразу начинать писать html-документы, объявляя этот Doctype, поскольку ощутимая часть функций с приходом HTML 4 перенесена в CSS. Это в свою очередь заставляет более детально подходить к изучению каскадных таблиц стилей и использовать практически весь их арсенал при вёрстке. Документ получается более логичным, более техничным, строгим и аккуратным. Таким образом, вы обеспечите лучшую совместимость с последующей версией языка (HTML 5), обеспечите полное соответствие стандарту и более полно изучите CSS и HTML.
  2. Doctype Transitional: Объявляет переходной тип документа (поддержка HTML 4 совместно со старым HTML 3.2). При данном типе документа обозреватель поддерживает команды HTML3.2, не рекомендованные к использованию в HTML 4. При использовании Transitional у любой задачи найдётся бóльшее количество решений, что делает вёрстку несколько проще. Однако, данное обстоятельство пагубно сказывается на профессиональных навыках. Рано или поздно верстальщик переступает ту черту, за которой верстать на Transitional становится как минимум не солидно.
  3. Doctype Frameset: Данный Doctype объявляется при создании документов на фреймах. Структура фреймового документа и его функционирование заметно отличается от предыдущих двух. Вообще фреймы считаются "прошлым веком" и используются редко. Это отчасти обусловлено их существенными недостатками, а также тем, что все преимущества фреймов можно использовать в других типах документов с помощью тегов <iframe></iframe> (Transitional) и <object></object> (Strict).

Структура документа HTML имеет следующий вид:

Структура html-документа

Пару слов о том, что это за скобки с латинскими буквами. Я уже говорил о разметке и «знаках препинания» гипертекста. Так вот эти символы в угловых скобках и есть те команды, с помощью которых размечается гипертекст - html-теги. Подробнее о них я расскажу на следующей странице.

Html-документом является содержимое тега <html></html> с объявленным Doctype. Состоит документ из двух частей - технической и пользовательской. В первой - техническая информация для обозревателя, во второй - для пользователя (выводится на экран). Техническая информация обрамляется тегом <head></head>, а пользовательская - тегом <body></body>. Конструкция выглядит так:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>технический блок</head>
<body>пользовательский блок</body>
</html>

Технически - это уже html-документ, хоть и пустой. Стоит отметить, что список типов html-докуметов не ограничивается перечисленными выше. Полный перечень Doctype'ов можно посмотреть на сайте консорциума W3C по следующей ссылке: (X)HTML Doctype Declarations List.

Похожие статьи
Кроссбраузерность

Главным образом проблема кроссбраузерности возникла в тех масштабах, в которых мы её имеем на сегодняшний день, благодаря обозревателям Internet Explorer компании Microsoft. Сразу отмечу, что ни один обозреватель никогда полностью спецификацию не поддерживал, однако самое большое количество расхождений с ней именно у обозревателей Мicrosoft.

Кроссбраузерность как проблема уменьшается год от года. Если смотреть глобально, то путь к соблюдению стандарта можно сравнить с подъёмом на вершину пирамиды с разных её углов четырёх человек. В конце концов все четверо окажутся на вершине в одной точке. Аналогичная картина происходит сейчас с обозревателями - спорных моментов всё меньше. Соответственно, кроссбраузерности добиться проще, нежели несколько лет назад.

03 июля 2009 г.

Яндекс.Метрика