Главная » Правильный DOCTYPE

Правильный DOCTYPE

Что такое DOCTYPE? Это способ указать браузеру, как правильно отображать документ и по какой схеме.
Существует много типов HTML , как то: HTML 4.01 Strict, HTML 4.01 Transitional, XHTML 1.0 Strict и множество других. DOCTYPE указывает браузеру структуру, элементы и их атрибуты для каждого типа HTML.
Указывание DOCTYPE критично, так как при его отсутствии браузер попытается отрендерить документ так как он считает нужным, а не так как этого хотите вы и/или требуют стандарты. Ни о какой валидации соответственно и речи быть не может. Можно провести часы, пытаясь заставить браузер отобразить то, что вам нужно без DOCTYPE и не добиться успеха.

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

<?xml version="1.0" encoding="utf-8"?>
<!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" xml:lang="en" lang="en">
<head>
<title>An XHTML 1.0 Strict standard template</title>
<meta http-equiv="content-type"
content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body>
<p>… Your HTML content here …</p>
</body>
</html>

Наиболее распространенные виды DOCTYPE:

HTML 4.01 - Strict, Transitional, Frameset:

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

XHTML 1.0 - Strict, Transitional, Frameset:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1 - DTD:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Более полный список доступен на сайте W3C.

По поводу того какой из трех (Strict, Transitional, Frameset) использовать, решать вам, в зависимости от поставленых задач.

Немного ссылок:

- Полезная, но немного устаревшая статья о DOCTYPE, на сайте Webmascon, который к сожалению перестал обновляться.
- Don’t forget to add a doctype by W3C.



6 Комментариев »

  1. 1  Плюс Минус  —5

    А я юзаю Dreamweaver 8 и о таких вещах даже не задумываюсь:)

    Комментарий by Gorik — Март 5, 2007 @ 12:45 am | Цитировать

  2. 2  Плюс Минус  0

    А я юзаю Dreamweaver 8 и о таких вещах даже не задумываюсь:)

    Я бы назвал это преступлением, не смотря на то что Dreamweaver 8 все таки лучше чем остальное дерьмо в стиле WYSIWYG :)

    Комментарий by neutrino — Март 5, 2007 @ 1:01 am | Цитировать

  3. 3  Плюс Минус  —1

    Вы меня не кажется не поняли. :) Dreamweaver я юзаю ТОЛЬКО как хороший текстовый редактор для HTML (приятная подсветка синтаксиса, автодополнение и т.д.). Все его WYSIWYG-фичи я категорически не признаю и не использую.
    А что касается DOCTYPE, так DW 8 их генерирует всегда и правильно, так что об этом, как я уже сказал, я не задумыюсь.

    Комментарий by Gorik — Март 5, 2007 @ 2:45 pm | Цитировать

  4. 4  Плюс Минус  0

    > Gorik

    Разве есть мало текстовых редакторов с подсветкой, автодополнением и прочим? :) Рекомендую EditPlus.

    А что касается DOCTYPE, так DW 8 их генерирует всегда и правильно

    А откуда он знает какой DOCTYPE нужен? :) Разве что всегда один и тот же.

    Комментарий by neutrino — Март 5, 2007 @ 6:53 pm | Цитировать

  5. 5  Плюс Минус  0

    Что я могу сказать, из за того, что DW-8 “сгенерил” неправильный DOCTYPE (transitional.dtd вместо xhtml.dtd)потратил в пустую драгоценный рабочий день. Браузеры различно отображали абсолютное позиционирование слоев. Так FF помещал ДИВ относительно родительского элемента (другого ДИВ’а), а IE относительно окна броузера. Вот какая вот история. Так что теперь я к этой строчке отношусь более внимательно и всем советую (особенно когда появляются необъяснимые баги).

    Комментарий by werewolfGSM — Март 10, 2007 @ 9:16 pm | Цитировать

  6. 6  Плюс Минус  +2

    DOCTYPE это поле для профессионалов уже. остальные на него действительно не обращают внимания. Можно конечно послушать Лебедева и вообще положить на него, но если стоит цель научиться верстать грамотно и красиво, то все же на стандарты не стоит забивать. Strict рулит :)

    Комментарий by Я — Февраль 14, 2008 @ 1:15 pm | Цитировать

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

XHTML (Разрешенные теги): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> .

Если вы хотите вставить в комментарий код, то жмите на кнопку "HTML" в редакторе и используйте теги <pre><code> и </pre></code> для вставки.

Не забывайте о том, что теги, вставленые без использования &lt;/&gt; будут автоматически трансформироваться.

Цитировать отмеченый текст