Какой DOCTYPE HTML лучше?

Добавлено: 28.06.2013

DOCTYPE – это специальная строчка в начале HTML страницы, которая сообщает браузеру тип документа. Обычно используют один из трёх типов – HTML4, XHTML или HTML5, причем у первых двух типов есть несколько разновидностей. Если не указать DOCTYPE, то браузер переходит в режим совместимости (quirks mode) и пытается угадать что хотел верстальщик.

Действие этой строчки не совсем очевидно и у новичков возникают вопросы: Можно ли обойтись без DOCTYPE? Какой DOCTYPE лучше? 
По стандарту строка DOCTYPE является обязательным элементом html-документа, но если страничка простая, можно обойтись и без DOCTYPE. Если мне нужно сделать html-заглушку с надписью посреди экрана, то я пишу примерно так:

<table width=100% height=100%><td align=center>
<font size=36 face=arial>ТУТ СКОРО БУДЕТ САЙТ

И это работает. При создании чего-то более сложного, нужно всегда указывать DOCTYPE, чтобы потом не гадать из-за чего съехала вёрстка.

Какой DOCTYPE лучше?

В настоящее время актуален только один тип html документов – HTML5. Есть ещё и другие типы и их немало:

HTML5
<!DOCTYPE HTML>
Строгий синтаксис HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Переходный синтаксис HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML-документ с фреймами
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Строгий синтаксис XHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Переходный синтаксис XHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML-документ с фреймами
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML со специфическими элементами для мобильных устройств
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
XHTML 1.1 имеет только 1 разновидность, как и HTML5. Синтаксис один и подчиняется четким правилам
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

но это скорее справочно-историческая табличка, поскольку HTML4 давно устарел, а XHTML больше не развивается. Сегодня HTML5 является основным стандартом создания сайтов и именно его следует выбирать во всех случаях, кроме тех, когда страница простая и можно обойтись без DOCTYPE.

Нужно ли менять DOCTYPE  на HTML5 в имеющихся проектах?

Если сайт уже работает, а смена дизайна не планируется, то можно и не менять. Старые стандарты всё равно никуда не денутся, но если вы создаёте новый шаблон, то делать его нужно уже в HTML5.

Преимущество нового стандарта в новых тегах. Теги article, section, aside и пр. хорошо воспринимаются поисковиками, а теги типа video и canvas позволяют добавлять мультимедийное содержимое без Flash. Стандарт HTML5 развивается и новые возможности ещё будут добавляьбся с новыми версиями браузеров.