Помощник
|
DOCTYPE, как основа валидной верстки |
sc2r2bey
|
Сообщение
#1
|
||
|
|
||
|
|||
yury_mw |
9.8.2009, 9:21;
Ответить: yury_mw
Сообщение
#2
|
|
Если вы будете пользоваться неполным тегом DOCTYPE, устаревшим его видом, или вообще забудете про него, броузер перейдет в "загадочный" режим и будет исходить из предположения, что вы писали код страницы с ошибками и вольно отступали от стандартов, т.е. так, как писали в конце 90-ых годов. Всегда "нравились" русские переводы иностранных статей и программ и фильмов, когда переводчик берет первое попавшееся значение малоизвестного ему термина в стиле "перевожу как промпт", а в результате догадаться о смысле "переведенной" таким образом фразы становится затруднительно либо смысл вовсе теряется. По сути, "quirky mode" - это никакой не "загадочный" режим, а режим совместимости со старыми браузерами. * Поэтому смысл этого предложения не в том, что браузер начинает работать в какой-то левом и неправильном режиме, по странному недоразумению оставленному разработчиками в программе, а именно в режиме совместимости, т.е. во вполне штатной ситуации, позволяя браузеру адекватно обработать любой код: с соблюдением как современных так и старых (но до сих пор используемых) стандартов. * Поэтому смысл ниже следующей фразы на тему "Слава Опере!" не в том, что разработчики этого браузера умнее программистов других бродилок по инету, а в том что подход Оперы нравится автору статьи, ратующему за скорейший запрет использования старых стандартов и переводе их из разряда "нерекомендуемых" в разряд неиспользуемых или "запрещенных". В других своих статьях Автор прямо призывает разработчиков браузеров отказаться от поддержки кода не соответствующего стандартам W3C, а программистов-верстальщиков от верстки в режиме совместимости (с использованием так называемых хаков для разных браузеров) игнорируя возможность кривого отбражения "правильно" сверстанных страниц в старых браузерах и стимулируя таким образом пользователей веба переходить на "правильные" браузеры. Короче, пишет в духе холивара браузеров, характерного для начала 2000х годов. Важно понимать: что в целом статья хорошая, и подробно объясняет, как правильно и в каких случаях пользоваться каким доктайпом и мелкие недочеты в переводе не умаляют ее значения. |
|
|
sc2r2bey
|
Сообщение
#3
|
|
согласен суть остается та же, и спасибо за ценное дополнение!
-------------------- программирую web и для we |
|
|
SeoMaster_mw |
10.8.2009, 1:01;
Ответить: SeoMaster_mw
Сообщение
#4
|
|
sc2r2bey, я вообще не пользуюсь этим тегом, чем это чревато?
|
|
|
sc2r2bey
|
Сообщение
#5
|
|
-------------------- программирую web и для we |
|
|
yury_mw |
10.8.2009, 9:52;
Ответить: yury_mw
Сообщение
#6
|
|
я вообще не пользуюсь этим тегом, чем это чревато? SEO, неиспользование тега !DOCTYPE приведет к тому, что * современные браузеры не будут знать какой тип документа вы предлагаете им открыть, и попытаются понять это на основании анализа содержимого документа, т.е. перейдут в так называемый "quirks mode", т.е. в режим совместимости. В этом режиме, в частности, допустимы устаревшие теги, а некоторые теги ведут себя иначе, чем обычном режиме. Браузер будет более лояльно расценивать ошибочный код и попытается, несмотря на ошибки, все же отобразить и исправить его (в меру своего искусственного интеллекта). * старые браузеры, которые "не знают" о существовании современных стандартов, смогут правильно отобразить страницу (опять таки в меру своих возможностей) Если тип документа не объявлен или объявлен некорректно, браузер всегда работает в режиме совместимости. В режиме совместимости браузер игнорирует часть правил CSS, имитируя поведение старого движка. Например, браузер Internet Explorer 6-й и 7-й версий отображает документы, как Windows Internet Explorer 5; браузеры семейства Mozilla — как Netscape 4. В некоторых случаях авторы сайтов преднамеренно не используют этот тег, чтобы перевести браузер в режим совместимости (наиболее известный пример - Яндекс (ya.ru), там доктайп присутствует, но указан он неполно: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">, что, с точки зрения современных браузеров, равноценно отсутствию доктайпа). |
|
|
Dengere_Ash |
15.8.2009, 15:47;
Ответить: Dengere_Ash
Сообщение
#7
|
|
|
|
|
olfi |
16.9.2010, 20:34;
Ответить: olfi
Сообщение
#8
|
|
я отладил код сайта так чтобы он корректно работал в ие, опере и мозиле. Сейчас вписал
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> и всё посъежало. подскажите какой доктайп использовать для простого ХТМЛ с дивами и JS |
|
|
ZiTosS |
16.9.2010, 21:56;
Ответить: ZiTosS
Сообщение
#9
|
|
olfi, strict строгий, используйте loose для HTML 4.01 или transitional для XHTML 1.0
<!-- HTML 4.01 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- XHTML 1.0 --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> И кстати, советую вам в следующий раз верстать ужен сразу под strict, всё же это правильнее. Возможно от того, чтобы что-то не съезжало избавиться не получится, тогда у вас 2 варианта: 1) Либо всё переверстать по правилам доктайпа 2) Либо уйти от доктайпа и остаться в режиме совместимости. |
|
|
Spear |
26.9.2010, 23:40;
Ответить: Spear
Сообщение
#10
|
|
ZiTosS, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - для большинства сайтов текст будет таким, а где тогда используются другие DOCTYPE?
|
|
|
|
Текстовая версия | Сейчас: 29.3.2024, 15:11 |