разработка сайтов
разработка и создание сайтов
Если у вас возникнут вопросы по языку html или просто по созданию сайтов, смело обращайтесь к нам на
форум в раздел "создание сайтов". Вам
обязательно ответят (мы гарантируем!).
Также рекомендуем посетить недавно открытый раздел
html. Здесь вы найдете краткий курс по основным
возможностям html, а также тематические авторские статьи.
Думаю веб мастерам будет интересен такой вид заработка, как игра на валютной бирже,
в последнее очень популярный в интернете. Читайте статьи раздела
forex.
как создать сайт /
Статьи
/
html
/
почему так важен doctype
Вернуться в раздел "
html"
"почему так важен doctype"
Вроде бы вы сделали все правильно, но ваш сайт почему-то не выглядит
или не работает, как ожидалось, в последних версиях броузеров.
Вы написали правильный стандартный XHTML код и стандартный CSS. Вы
воспользовались стандартной спецификацией для работы с DOM (Document
Object Model), чтобы управлять динамическими элементами на странице. И
все-таки, в броузерах, которые казалось бы сделаны с соблюдением именно
этих стандартов, ваш сайт не работает. Скорей всего, ошибка кроется в
неправильном заголовке DOCTYPE.
Эта небольшая статья расскажет вам о заголовках DOCTYPE , которые
работают, а также объяснит практическое и теоретическое значение этого,
казалось бы отвлеченного от реальности, тега.
Что такое DOCTYPE?
Согласно спецификациям HTML и XHTML тег DOCTYPE (что означает
"объявление типа документа") сообщает валидатору, какую именно версию
(X)HTML вы используете в своей странице. Этот тег должен всегда
находиться в первой строке каждой страницы. Тег DOCTYPE - ключевой
компонент web-страниц, претендующих на соответствие стандартам: без
него ваш код и CSS не пройдут проверку валидатором.
Тег DOCTYPE также важен для правильного отображения и работы
страницы в броузерах, соответствующих стандартам (Mozilla, IE5/Mac, и
IE6/Win).
Тег DOCTYPE, в атрибутах которого указывается полный URL (полный
web-адрес), сообщает броузерам, что страницу нужно вывести с
соблюдением определенного стандарта или подвида этого стандарта.
Если вы будет пользоваться неполным тегом DOCTYPE, устаревшим его
видом, или вообще забудете про него, броузер перейдет в "загадочный"
режим и будет исходить из предположения, что вы писали код страницы с
ошибками и вольно отступали от стандартов, т.е. так, как писали в конец
90-ых годов.
В этом режиме броузер попытается разобрать вашу страницу по правилам
обратной совместимости и выведет на экран, например, CSS так, как его
вывел бы Internet Explorer 4-ой версии, а DOM будет работать так, как
он работал именно в этом броузере (IE переключается в свой старый DOM,
а Mozilla и Netscape 6 переключается вообще в бог знает что).
Понятно, что для вас эти выкрутасы не желательны. Но именно это вы и
получите, если будете пользоваться неполным или неправильным тегом
DOCTYPE. Данная статья попробует исправить эту вашу ошибку.
(Внимание: броузер Opera не играет по таким правилам; он всегда
пытается отобразить страницу так, как если бы она соответствовала
стандартам. Слава Опере! С другой стороны, Opera пока не полностью
поддерживает стандарт W3C DOM, но работа над этим уже ведется.)
Где же взять правильный DOCTYPE?
Так как теги DOCTYPE чрезвычайно важны для работы Web-а по
стандартам, и так как консорциум W3C является ведущей организацией,
создающей стандарты для Web-а, следовало бы ожидать, что на сайте
W3C будет представлен список всех вариантов тега DOCTYPE, и казалось бы
эту информацию на сайте W3C можно найти быстро и просто в каком-то
определенном разделе. Но это не так, по крайней мере на момент
написания этой статьи.
W3.org - это не сайт со статьями как A List Apart, WebReference или Webmonkey.
Он не создан в помощь web-дизайнерам, разработчикам и авторам сайтов, и
он не занимается распространением новейшей информации и полезных
советов. Это не его задача.
Да, иногда W3C публикует серии учебных статей,
хотя большинство web-разработчиков об этом даже и не знает. Но в
основном, сайт W3C содержит собрание предложений, проектов и
Рекомендаций, которые написаны инженерами для инженеров. И когда я
говорю об инженерах, я не имею в виду простых специалистов в области
web-разработок, таких спецов, как вы и я. Я имею в виду инженеров, по
сравнению с которыми мы выглядим полными болванами.
Я могу потратить весь день в поисках правильных тегов DOCTYPE на
сайте w3.org, но не найду ни одной страницы, где они перечислены все
вместе. Если же вам все-таки удастся найти какой-нибудь тег DOCTYPE
(например, упоминаемый в какой-нибудь Рекомендации или Рабочем
проекте), скорей всего окажется, что на вашем сайте он работать не
будет.
По всему сайту W3C разбросаны теги DOCTYPE, где в атрибутах
отсутствует URL, и теги DOCTYPE, содержащие в атрибутах относительный
URL, связанный с документами, находящимися на том же самом сайте W3C.
Если вы возьмете этот тег с сайта W3C, перенесете его на свой сайт и
вставите в свои страницы, относительный URL будет указывать на
несуществующие на вашем сайте документы, следовательно напрасно
пропадет ваш труд и усилия броузера.
Например, на многих сайтах можно встретить в страницах следующий
вариант тега DOCTYPE, который был без всяких изменений перенесен с
сайта w3.org:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
Посмотрите на последнюю часть тега DOCTYPE
("DTD/xhtml1-strict.dtd"). Обратите внимание, что это относительная
ссылка на документ, расположенный на сайте W3C. Так как целевой
документ находится на сайте W3C, а не на вашем, этот URL для броузера
бесполезен.
А выглядеть DOCTYPE должен вот так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Обратите внимание, что этот вариант DOCTYPE содержит в конце полный
вариант URL. А так как тег указывает на правильное расположение
документа, броузер знает, где этот документ надо найти в сети, и
следовательно выведет вашу страницу в том стандарте, который вы
упомянули в DOCTYPE.
Правильные варианты тега DOCTYPE
Итак, каким же вариантом тега DOCTYPE надо пользоваться? Очень
хорошо, что вы задали этот вопрос. Ниже перечислены полные варианты
тега 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">
Что дальше?
Как вы можете внести свой вклад в распространение стандартов в Web?
Перво-наперво, поместите в закладки данную страницу (либо просто
сохраните ее на своем компьютере), а также проверьте, вставляет ли ваш
web-редакторв в ваши страницы тег DOCTYPE, а если вставляет, -
правильный ли вариант тега он использует?
Многие разработчики ПО просто скопировали неполные варианты тега
DOCTYPE с сайта W3C в свои программы. И в результате: вы полагаетесь на
программу, которая вставляет неправильный вариант тега, броузер впадает
в "загадочный" режим, а вы безуспешно бьетесь над загадкой, почему ваши
страницы не работают, как надо.
Стоит также написать тем ребятам, что делают ваш любимый
web-редактор, и показать им, как выглядит правильный тег DOCTYPE ,
после чего, вежливо попросить их внести изменения в новую версию
программы. В некоторых случаях, вы сможете даже внести изменения в программу сами.
В ближайшем будущем
У нас есть все причины надеяться, что W3C скоро выложит полный,
точный и удобный список всех вариантов тега DOCTYPE на своем сайте, а
также опубликует другую важную информацию. И эту информацию легко будет
найти. К стати, в эту статью внес свой вклад Карл Дабост (Karl Dubost)
- менеджер W3C по обеспечению качества (Conformance Manager of W3C"s
Quality Assurance team).
Кроме того, проект The Web Standards Project скоро будет переделан
(очень скоро), и на нем тоже можно будет найти эту информацию.
Но так как каждый день создаются и выпускаются в сеть все новые и
новые сайты, эта информация вам нужна уже сейчас, так вот она -
пользуйтесь.
Удачи!
Джеффри Зельдман
http://www.webmascon.com
Вернуться в раздел "
html"
Обсудить эту статью или задать вопрос вы можете на
форуме
.
Также рекомендуем посетить недавно открытый раздел
html. Здесь вы найдете краткий курс по основным
возможностям html, а также тематические авторские статьи.