Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

Форум на все случаи жизни _ WEB дизайн и прикладное программирование _ Какой DOCTYPE выбрать

Автор: Ann 22.02.2011 - 20:53

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

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

Строгий: не содержит элементов, помеченных как "устаревшие" или "не одобряемые".

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


Переходный Transitional: содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML.
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



С фреймами (Frameset): аналогичен переходному, но содержит также теги для создания наборов фреймов.
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">


HTML 5
Код
<!DOCTYPE html>

и т.д.

Если почитать многочистелнные статьи на эту тему, везде красной нитью проходит идея, что верстать необходимо валидно, в соответствии со строгим синтаксисом стандарта.
Но строгий HTML не прощает ошибок и требует точного соблюдения спецификации. Потому иногда вполне допустимо и даже предпочтительно использование переходного синтаксиса smile.gif

Автор: Ann 13.03.2011 - 17:24

Сделаем вывод из вышесказанного :)

Времена, когда о DOCTYPE можно было не задумываться давно прошли.
Если вы новичок, можно использовать переходный доктайп - Transitional,
профи стараются придерживаться строгого - Strict.
не за горами HTML5, но об этом позже...

Полезно учиться на чужих примерах. Посмотрим доктайп яндекса :) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Гугл придерживается строгого <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">, а так же <!doctype html> на англоязычных страницах.

Ссылки по теме http://www.w3.org/QA/Tips/Doctype
http://www.w3.org/QA/2002/04/valid-dtd-list.html

Автор: Ann 13.03.2011 - 19:09

Интересная статья http://ejohn.org/blog/html5-doctype/
John Resig рекомендует ставить <! DOCTYPE HTML>
"...все современные браузеры распознают его и переключаются в стандартный режим - даже если не поддерживают HTML5. Это значит что вы можете начать писать ваши веб-страницы используя HTML5 уже сегодня, и они будут актуальны надолго."

Автор: donjao 3.11.2011 - 11:57

Код
<! DOCTYPE HTML>

Чем больше сайтов передут на 5 версию, тем быстрее закончится кошмар с cross-browser-support.

Автор: Жора 27.12.2011 - 08:26

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

html 5 рано, единственное верное решение - strict режим

Автор: Kwat 3.01.2012 - 02:48

Цитата(Жора @ 27.12.2011 - 08:26) *

html 5 рано, единственное верное решение - strict режим

Почему рано? blink.gif Можно же использовать с браузерами без поддержки HTML5 (см. выше).

Автор: av1rus 10.01.2012 - 00:43

Для простых сайтов всегда использую html5 (doctype html), тем более если не задействованы «новые» теги.

Автор: donjao 29.04.2012 - 03:10

Выбирать декларацию нужно исходя из поставленной задачи. Нужно учитывать технические требования к сайту — например, будут ли использоваться фреймы или нет; учитывать целевую аудиторию и кучу других прибамбасов.

Т.е., другим словами нужно начать с ознакомления с тем, что декларация делает и на что она влияет. Затем, использовать эти знания с учетом требований к сайту.

С другой стороны, если этот путь не подходит, я рекомендую использовать декларацию HTML 5. Т.к.:
1. Это грядущий стандарт
2. Хорошее проникновение на мобилки
3. Отображение на старых версиях браузеров можно настроить через условные CSS стили - для каждого браузера свой стиль.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)