Что такое DOCTYPE и зачем он нужен?

Что такое DOCTYPE и зачем он нужен?

Каждый, кто имеет дело с кодом, верстает или пока еще только учится верстать сайты, просто обязан знать о том, что в начале каждой HTML страницы перед тегом HTML должен стоять DOCTYPE.

Что такое DOCTYPE и зачем он нужен?

Строчка с DOCTYPE (Document Type Definition) в начале HTML страницы указывает на тип документа, который вы будете использовать при написании HTML кода для вашего сайта. Это непарный тег, то есть у него нет закрывающего тега.

Нужно понимать, что строчка, в которой прописывается DOCTYPE - это не просто очередной HTML тег. Это важная инструкция, с помощью которой мы говорим браузеру, какая версия HTML использовалась при написании страницы.

Главным преимуществом использования DOCTYPE является то, что ваш сайт будет правильно работать и одинаково ровно и красиво смотреться во всех браузерах. red face

Какие существуют виды DOCTYPE?

Cуществует несколько видов DOCTYPE. Есть строгие виды (strict), которые работают на основе только определенных тегов, есть переходные (transitional), которые допускают возможность включения дополнительных тегов, есть такие, которые работают с фреймами (frameset).

Подробно в этой статье я не буду рассматривать каждый из них, так как это не является моей целью, просто перечислю:

  1. HTML 5
  2. HTML 4.01 Strict
  3. HTML 4.01 Transitional
  4. HTML 4.01 Frameset
  5. XHTML 1.0 Strict
  6. XHTML 1.0 Transitional
  7. XHTML 1.0 Frameset
  8. XHTML 1.1

Подробную информацию по каждому виду DOCTYPE вы можете найти в интернете, просто введя в поиск нужную фразу, поэтому останавливаться на этом мы не будем.


Итак, поехали дальше... cool smile

Что касается использования разных видов DOCTYPE, следует иметь ввиду, что если вы изначально писали свой сайт в одном DOCTYPE, то не рекомендуется его менять в будущем на какой-то другой, потому что могут возникнуть проблемы с правильным отображением сайта из-за того, что вместе со сменой DOCTYPE вы автоматически поменяете правила обработки тегов браузерами.

Когда вы выбираете тот или иной DOCTYPE, вы автоматически выбираете определенные правила, по которым должен анализироваться код в браузерах.

Поэтому DOCTYPE нужно выбирать для сайта, изначально хорошенько подумав, в соответствии с тем, какой вам будет нужен вид обработки HTML кода браузерами, и впоследствии уже его не менять.

Только представьте, сколько проблем раньше (почему раньше, объясню ниже в статье) несло верстальщику наличие нескольких видов DOCTYPE, между которыми приходилось постоянно выбирать, какой лучше использовать, и думать, не ошибся ли ты в своем выборе.

Можно ли вообще обойтись без DOCTYPE?

У тех, кто не любит заострять свое внимание на разных мелочах, может возникнуть вполне естественный вопрос: "А зачем мне все это нужно? Может, мне вообще не использовать DOCTYPE?"

Конечно, теоретически можно его и не указывать, но тогда вы сидите на пороховой бочке замедленного действия, не зная точно когда она рванет (а рванет она 100%). angry

Короче говоря, если вы не используете DOCTYPE совсем, то рискуете лицезреть созданный вами сайт не в самом приглядном виде в браузере, причем, в каждом браузере будут возникать разные проблемы с правильностью отображения, а решить все их вам будет, мягко говоря, сложновато. grrr

Так что же делать, если не хочется во все это вникать в подробностях?

Преимущества использования DOCTYPE HTML5.

Хорошая новость big surprise состоит в том, что с выходом последней версии HTML5 (которая, кстати, все еще находится в процессе разработки, по некоторым данным окончательный стандартный вариант обещают предоставить в 2014 году) стало намного удобней выбирать DOCTYPE для своих сайтов.

Дело в том, что правила DOCTYPE HTML5 являются универсальными, включают в себя правила предыдущей версии, а также возможность работы с HTML 4 тегами и в какой-то степени с XHTML, и, насколько я понимаю, объединяют в себе возможности всех своих предшественников, адаптируя их для работы в новых браузерах.

Поэтому сейчас, когда я верстаю, то уже не задумываюсь, какой тип DOCTYPE мне выбрать, а ставлю на первой строчке

<!DOCTYPE html>
.

Это все, что нужно написать, чтобы указать что это DOCTYPE HTML5. По сравнению с прежними своими собратьями, DOCTYPE HTML5 не основан на SGML (стандартном обобщённом языке разметки) raspberry, поэтому там нет тех данных, которые указывались до этого, а следовательно - в нем присутствует только короткая команда. И дальше уже идет сам документ:

<!DOCTYPE html>
<html>
<head>
<title>Здесь пишете название.</title>
</head>
<body>
Здесь содержится контент.
</body>
</html>

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

Что касается браузеров: как старые браузеры относятся к DOCTYPE HTML5? Не возникнут ли проблемы с этим?

По этому поводу хочу сказать, что:

  1. Во-первых, мы должны равняться на прогресс и на будущее, а будущее - за новыми браузерами, и сейчас становится все-таки меньше и меньше людей, использующих старые браузеры.
  2. А во-вторых, Doctype HTML5 так устроен, что даже браузеры, которые в принципе не были созданы для того, чтобы поддерживать его (IE (начиная с IE8), старые версии FireFox, Opera, Safari), увидев команду , сразу же переключают содержимое в стандартный режим.

Это значит, что если вы сегодня начнете создавать свои страницы на основе DOCTYPE HTML5, то можете быть уверены в том, что им обеспечена долгая жизнь. sun

Выводы.

Какой из всего вышесказанного мы можем сделать вывод?

Использовать DOCTYPE необходимо, если не хотите впоследствии решать всяческие проблемы, связанные с его отсутствием (нужны они вам? whew ).

И использовать лучше всего последнюю версию DOCTYPE HTML5.

Очевидно, что многое изменилось и продолжает меняться к лучшему в этом направлении. Все это делается для того, чтобы облегчить нам с вами жизнь и сделать нашу работу максимально удобной, что рисует довольно яркие картины в перспективе!

А потому желаю вам успехов!

ЗЫ: Комментировать статью никто не запрещал happy!

Автор статьи: Елена Лощилова.

Комментариев: 5 RSS

Оставьте комментарий!

Вы можете войти под своим логином или зарегистрироваться на сайте.

Комментариев: 5
  •  Дмитрий | 4 февраля 2013 в 14:23:09

    Серега еще раз привет! Подскажи после ,больше ничего не надо прописывать, как ранее

  •  Дмитрий | 4 февраля 2013 в 14:28:05

    Чуть не так указал))))) подскажи после < !DOCTYPE html> больше ничего не надо прописывать, как ранее < !DOCTYPE html PUBLIC"-//W3C//DTD XHTML1.0 Transitional//EN"

    вообщем и т.д.?

  •  Серёга | 4 февраля 2013 в 14:36:23

    Нет, это стандарт HTML5

  •  Олег | 25 марта 2014 в 21:48:39

    Сергей, спасибо за полезную информацию. Теперь я буду понимаю всю важность DOCTYPE.

    •  Елена | 27 марта 2014 в 09:56:36

      Олег, добрый день! Пожалуйста smile Написала вам на почту.