• Какой тег определяет тип документа. Исправление ошибок

    Я часто в своих уроках делал такие утверждения, как – «один тэг должен располагаться внутри другого», «у тэга img должен быть атрибут src», «сначала идёт тэг head, а потом body» и так далее. Но я ведь не придумывал всё это на лету, - а руководствовался неким регламентом, автором которого является организация, которая собственно придумывает и утверждает все стандарты, - называется она W3C (Консорциум Всемирной Паутины). Раньше я об этом не упоминал, но стандартов написания HTML существует несколько. И у каждого из них есть свои особенности и правила написания. Связано это с тем, что HTML не стоит на месте, а постоянно развивается.

    И если в ранних версиях стандарта, когда не было технологии CSS , с помощью языка разметки можно было создавать как структуру, так и дизайн, то сейчас тенденция намечается совершенно иная, - HTML стал больше ассоциироваться со структурой (фундаментом и кирпичиками), на которых и держится дизайн. CSS здесь - это нечто вроде декоративного элемента, задающего оформительский вид – аналог плитки и обоев, если рассматривать создание сайта как строительство дома. В связи с этим, в новых стандартах HTML, некоторые тэги и атрибуты, отвечающие за дизайн, - объявлены нежелательными (deprecated). То есть, текущая спецификация стандарта их поддерживает, но уже в следующей поддержка будет прекращена.

    Есть ещё более строгий стандарт, который называется XHTML , - он так вообще не терпит вольностей с кодом и не прощает грубые ошибки. Самый новый на данный момент – это HTML 5 , за ним будущее, поэтому в дальнейшем мы и будем на него равняться.

    С этим вроде бы всё должно быть понятно, - есть несколько стандартов и замечательно. Но вместе с тем, есть браузеры, в задачу которых входит обработка HTML кода, и браузер не всегда может понять, в соответствии с каким стандартом мы пишем и что конкретно имел ввиду пользователь и соответственно как этот код нужно отображать. То ли мы используем переходный HTML (Transitional), и браузер прощает нам многие ошибки, используя «щадящий режим», то ли мы используем режим строгой совместимости XHTML и ошибки нужно обрабатывать со всей строгостью. Иными словами, перед браузером стоит сложная задача.

    Как поступает браузер в таком случае? Он отображает код в режиме обратной совместимости , - все явные и неявные ошибки в коде он сглаживает и пытается максимально предугадать что же имел ввиду пользователь. Но тут есть некоторые очевидные недостатки: во-первых, браузер не может знать, что же имел ввиду человек изначально. Во-вторых, у каждого браузера этот режим совместимости может срабатывать по-разному. Что в итоге имеем? Есть код и нету регламента, - на практике это означает что одна и та же разметка, в режиме совместимости, браузером будет отображаться по-разному. Следовательно, нам нужен какой-то способ дать браузеру знать, какой же стандарт мы собираемся использовать.

    И такой способ действительно есть, называется он – добавлением определения типа документа .

    В коде объявление типа задаётся вот так:

    Данной строкой мы даём браузеру понять, что на нашей страничке будет использоваться режим HTML 5. Вставляется это строка в самом начале документа. Попробуйте проделать это в вашем тестовом HTML файле.

    На многих сайтах ещё можно встретить такую строчку:

    Данная строка означает, что используется стандарт HTML 4.01. Но мы не будем его использовать, поскольку он устаревший. Но тем не менее, он тоже нередко встречается и знать о нём стоит.

    Теперь объясню, зачем всё это нужно. Данной строкой мы задали некий стандарт, в соответствии с которым браузер должен выводить наш документ в окно браузера. На практике это означает, что наш HTML код будет более-менее одинаково отображаться во всех браузерах. Всего этого было бы невозможно достичь, если бы мы работали в режиме обратной совместимости (quirks mode ), который включается если объявление типа документа пропускать. В моей практике, связанной с вёрсткой страниц, это было действительно важно. Потому что, объявление DOCTYPE , в итоге решило проблему одинакового отображения страницы во всех браузерах.

    Валидация документа.

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

    На этой страничке мы сможем найти несколько способов проверки:

    1. Указать реально существующий сайт.
    2. Загрузить файл с вашего компьютера.
    3. Вставить непосредственно сам код, который вы хотите проверить, в соответствующее поле.

    В нашем случае, скорее всего подойдёт второй или третий вариант.

    Я лично использовал третий способ. Мой документ валидацию прошёл успешно, о чём и отрапортовала программа строкой This document was successfully checked as HTML5! на зелёном фоне.

    При другом исходе, – надпись будет отображена на красном фоне. Это будет означать, что где-то мы допустили ошибку. Собственно, сама программа укажет где и на какой строке мы ошиблись и в чём именно, правда на английском языке.

    Но в моём случае, программа, помимо того, что объявила о том, что валидация прошла успешно, также выдала мне три предупреждения:

    1. Using experimental feature: HTML5 Conformance Checker

    Дело в том, что стандарт HTML 5 формально ещё не окончательно утверждён консорциумом, который продолжает в него внедрять новые полезные фишки. Но на практике – всё большее и большее количество разработчиков начинают его использовать уже сейчас, чтобы быть готовым к завтрашнему дню.

    2. No Character encoding declared at document level

    В документе не сказано ни слова о том, какая кодировка используется. Действительно, ведь мы её не указали явно, а значит не факт, что вместо того, чтобы отобразить русские буквы, - браузер отобразит какие-то китайские иероглифы. Происходит так потому, что браузер при отображении документа руководствуется какой-то кодовой таблицей (то есть кодировкой), где каждой букве назначается соответствующий ей кодовый символ. Но то, что в одной кодировке одно число означает одну букву, то в другой – может означать какой-то японский иероглиф. Следовательно, браузеру нужно сообщить, какую кодировку использовать. Если этого не сделать, то браузер всё равно попробует её угадать сам. Но гарантий того, что он сделает это правильно, - совершенно нет.

    3. Using Direct Input mode: UTF-8 character encoding assumed

    Программа предупреждает, что она по умолчанию использует utf-8.

    Что же, тогда не остаётся ничего, кроме как объявить используемую нами кодировку. Делается это вот таким образом:

    Сама строка должна быть вложена в элемент head.

    Тэг meta относится к разряду служебных тэгов, он как бы сообщает, что есть какая-то информация о странице, которую мы хотим сообщить браузеру. У него, как и у любого другого тэга, есть атрибуты:

    http- equiv – это атрибут, в значении которого мы указываем название заголовка.

    content – атрибут, в качестве значения которого мы указываем значение заголовка, в данном случае значение заголовка Content-type.

    Давайте теперь рассмотрим значения атрибутов, которые только что указали:

    Content- Type – говорим браузеру о том, что будем сообщать о том, какой тип у нашего документа. А также, какая кодировка в нём используется.

    text/ html; charset= utf-8 – документ типа text/html, который использует кодировку utf-8.

    Попробуйте провести валидацию страницы ещё раз. Предупреждающих сообщений теперь быть не должно. Но они могут всё равно остаться, но уже по другой причине. К примеру:

    1. Вы используете в своём документе изображения, и у вас в тэге img не задан атрибут alt .

    2. В элемент body вложен строчный элемент. В соответствии со спецификацией, в элементе bodyдолжны быть только блочные элементы. А уже в них, могут находиться строчные.

    Примеров ошибок может быть много, но упомянуть о всех, в рамках одной статьи проблематично. Однако, если во время валидации, вы встретили какую-то иную ошибку, то напишите о ней в комментариях, - будем разбираться вместе.

    • < Назад
    • Вперёд >

    Для комментирования, вам необходимо зарегистрироваться.

    Элемент передает браузеру информацию о типе данного документа - DTD . Другими словами, передает инструкции браузеру о версии языка HTML, на которой написан документ. Это дает возможность браузеру выбрать правильный вариант интерпретации содержимого документа.

    необходимо ставить самым первым элементом в HTML документе, перед открывающим тегом (документ должен начинаться с DOCTYPE).

    Синтаксис

    Синтаксис doctype (упрощенно):

    Разница в DOCTYPE для HTML 4.01 и HTML5

    HTML 4.01 основан на стандартном обобщённом языке разметки SGML , поэтому при его использовании следует указывать DTD, определяющий правила разметки конкретной версии.

    HTML5 не использует SGML как основу, и указывать DTD при его использовании не нужно.

    Примеры DOCTYPE для популярных версий HTML

    DOCTYPE HTML 5

    DOCTYPE HTML 4.01 Strict

    Поддерживает все актуальные для DTD HTML 4.01 элементы и атрибуты, не включая презентационные и устаревшие. Фреймсеты не допускаются.

    DOCTYPE HTML 4.01 Transitional

    Поддерживает все актуальные для DTD HTML 4.01 элементы и атрибуты, а также презентационные и устаревшие. Фреймсеты не допускаются.

    DOCTYPE HTML 4.01 Frameset

    Аналогичен HTML 4.01 Transitional. Разрешено использовать фреймсеты.

    DOCTYPE XHTML 1.0 Strict

    Поддерживает все актуальные для DTD HTML 4.01 элементы и атрибуты, не включая презентационные и устаревшие. Фреймсеты не допускаются. Необходимо, чтобы документ соответствовал стандартам XML.

    DOCTYPE XHTML 1.0 Transitional

    Поддерживает все актуальные для DTD HTML 4.01 элементы и атрибуты, а также презентационные и устаревшие. Фреймсеты не допускаются. Необходимо, чтобы документ соответствовал стандартам XML.

    DOCTYPE XHTML 1.0 Frameset

    Аналогичен XHTML 1.0 Transitional. Разрешено использовать фреймсеты.

    DOCTYPE XHTML 1.1

    Аналогичен XHTML 1.0 Strict. Есть возможность добавлять собственные модули.

    Здравствуйте, уважаемые читатели блога сайт. Я хочу продолжить рассказывать об основах работы с Html с самого начала, последовательно и ничего не опуская. Сегодня мы поговорим о специальном теге (декларации) Doctype, узнаем как правильно оформлять комментарии в ХТМЛ коде, как прописывать заголовок веб документа Title и постараемся разобраться в отличиях блочных и строчных элементах.

    В предыдущей статье из рубрики (в которой в основном рассказывалось про то, ) мы закончили на том, что любой документ в интернете должен иметь определенную структуру.

    Директива Doctype для Html, Xhtml и ХТМЛ 5

    Первым элементом языка разметки, который вы встретите в любом правильном Web документе (странице сайта), будет специальная директива Doctype. Она начинается с угловой скобки и проставленного сразу же за ней восклицательного знака

    Сам по себе элемент Doctype служит для объявления типа данного документа и помогает браузеру понять, на какую версию Html или XHTML (по классификации валидатора W3C) ему следует опираться при разборе кода загружаемой веб страницы.

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

    Но давайте на этом остановимся чуть поподробнее. Сейчас мы с вами наблюдаем некий дуализм или же два типа документов в сети — как делали раньше до выделения CSS из лона языка ХТМЛ и как делают сейчас по принятым современным стандартам.

    Естественно, что после принятия новых стандартов в сети интернет оставалось все равно огромное множество документов, созданных по старым принципам чистого ХТМЛ (без CSS) и браузеры должны были с ними как то работать. Корпорация Майкрософт в свое время предложила использовать эту самую директиву Doctype из нового языка разметки XML.

    Выглядеть она может по разному (читайте об этом ниже), но проще всего использовать такой вариант (чуть ниже по тексту объясню почему):

    Таким образом браузер будет понимать, по каким именно стандартам ему разбирать код документа. Если данная декларация имеет место быть, то браузер переходит в режим работы по стандартам (standarts mode). Если же ее браузер не найдет в самом начале документа (или она будет не соответствовать правильному варианту написания), то тогда браузер включит хитрый режим уловок (quirks mode).

    Документ в этом случае будет отображаться таким образом, как будто бы этот браузер очень старый (старинный). Если в этот же документ добавить декларацию, то браузер будет осуществлять разбор кода с учетом всех имеющихся на текущий день стандартов.

    Правда, понятие старого браузера очень уж расплывчатое. Все тот же лидер по скорости работы и скорости западания в сердца пользователей Google Chrome появился-то только в 2008 году.

    Давайте начнем со стандарта языка гипертекстовой разметки 4.01 (ХТМЛ 5 пока что еще только разрабатывается). Для этого случая существует три варианта Doctype: строгий, переходный и с поддержкой фреймов:

    Чаще всего используют второй вариант (Transitional), т.к. он допускает больше вольностей в написании кода документа, ну, а вариант с фреймами вам вряд ли пригодится, в силу неактуальности их использования на сегодняшний день.

    Собственно, имеются такие же три варианта Doctype для XHTML — строгий, переходный и с поддержкой фреймов:

    Но давайте посмотрим откуда берутся эти варианты правильного написания декларации. Помните, мы в первой статье рассматривали таблицу допустимых :

    И отдельную таблицу возможных :

    Как вы можете видеть, в обеих этих таблицах присутствует столбец «Depr», в котором буквой «D» помечены устаревшие и не рекомендуемые к применению теги и атрибуты языка ХТМЛ. Это мы с вами уже рассмотрели. Но обратите внимание, что напротив каждой буквы «D» в соседнем справа столбце «DTD» стоит либо буква «L» (Loose DTD), либо буква «F» (Frameset DTD).

    Т.о. все теги и атрибуты, которые не помечены буквами «D» (не рекомендуемые) входят в строгую декорацию Doctype (только рекомендованные элементы и ничего более). Если же вы все-таки будете допускать использование не рекомендованных тегов и атрибутов языка Html (они помечены литерой «D»), то нужно будет объявлять для таких документов декларацию переходную.

    Некоторые элементы и атрибуты, помеченные в столбце «DTD» буквой «F» (например, FRAME, FRAMESET), будут входить в декларацию Doctype для фреймовых структур. Она базируется на основе переходной, к которой добавляются теги и атрибуты для создания , о которых вы можете почитать по приведенной ссылке.

    А теперь давайте попробуем разобраться, а из каких частей состоит декларация Doctype?

    Сначала идет название — «Doctype». Тут, думаю, все понятно. Дальше идет «Html» — корневой элемент данного языка разметки. Затем идет указание — публичная данная декларация или же системная. Все варианты Doctype являются публичными, что обозначается словом «PUBLIC».

    А дальше идут два идентификатора документа. Первый из них называется публичным идентификатором («-//W3C//DTD HTML 4.01//EN»). Минус означает то, что данная декларация не зарегистрирована в стандарте ИСО. Затем следует название консорциума, ее название и язык, на котором она написана. Во втором идентификаторе указывается путь до файла строгого варианта.

    Ну, а теперь давайте раскрою вам всю правду про Doctype . Браузерам важно только формально правильное ее написание, но они ни в коем разе не полезут на сайт консорциума, чтобы скачать указанный в ней файл.

    Даже если вы выберите вариант строгой декларации и при этом будете использовать не рекомендуемые в современной версии Html теги и атрибуты, то любой браузер все равно вас правильно поймет — это факт проверенный и подтвержденный.

    Поэтому, чтобы не мудрствовать лукаво, в Html 5 написание Doctype будет выглядеть уже вот так:

    И все. Оставили только «Html». И несмотря на то, что ХТМЛ 5 еще не полностью внедрен, данный вариант поддерживается всеми современными браузерами и вы можете смело им пользоваться. О как, а вы говорите...

    Html комментарии в исходном коде страницы и тег Title

    В служебной области Web документа (между тэгами Head) обязательно должен быть прописан заголовок этого самого документа (веб страницы), заключенный в элементы Title (см. на приведенном рисунке).

    Переоценить значимость заключенной в нем информации очень трудно (я не преувеличиваю). Когда вы будет подбирать ключевые слова в Яндекс Wordstat (используя для этого ), то после составления семантического ядра вам обязательно нужно будет упомянуть выбранные ключевые слова в заголовке Title.

    Про то, насколько важны слова заключенные в Тайтле для будущего успешного продвижения проекта, вы можете узнать из статьи , а про то, как прописать нужные вам слова в Title для Joomla и WordPress, вы узнаете из статьи .

    Теперь давайте прежде, чем переходить к рассмотрению конкретных тегов, остановимся на таком понятии, как комментарии в Html коде . Они довольно часто проставляются для того, чтобы потом было проще найти нужные участки или же для того, чтобы другим было проще понять задумку автора. Само собой разумеется, что текст этих комментариев ни в коем случае не должен отображаться на веб странице, поэтому они специальным образом оформляются в коде.

    Особенно актуальны комментарии в Html были во времена господства табличной верстки (читайте про ), ибо тогда, по сравнению с современной блочной версткой (тут описана на примере), очень просто было запутаться, что и в какой ячейке таблицы выводится:

    Наверное, из приведенного выше примера вы уже поняли, что все комментарии в языке Html начинаются точно так же, как и любые другие элементы — с угловой скобки, но сразу же после нее, при формировании комментария, нужно будет поставить восклицательный знак (при описании Doctype я упоминал, что комментарии тоже являются декларациями , которые обязательно начинаются с

    Весь текст комментария, который будет находиться между этими двойными дефисами, будет рассматриваться браузерами как служебная информация и никак обрабатываться не будет. Корректность его написания можно наглядно оценить при использовании описанного :

    Но внутри комментария можно размещать не только текст, но и все что угодно. Например, довольно часто встречаются закомментированные фрагменты Html кода и этот участок браузерами обрабатываться не будет. Что примечательно, комментарий можно открыть на одной строке кода, а закрыть хоть через сотню строк, и заключенный таким образом кусок кода для браузера просто перестанет существовать.

    Все довольно просто и думаю, что с ними у вас проблем не возникнет. Хотя есть одна тонкость в работе с многострочными комментариями в ХТМЛ. Внутрь одного комментария нельзя помещать другой , иначе часть закомментированной информации может быть отображена браузером на веб странице. Давайте для примера рассмотрим такую конструкцию:

    продолжение внешнего коммента-->

    Итак, браузер при разборе кода веб страницы обнаружит открывающие символы декларации комментария и начнет поиск закрывающих. Найдет его после слов «Вложенный коммент», а вот все остальное (в нашем случае это продолжение внешнего коммента-->) будет обработано браузером и выведено на веб странице.

    В принципе, если вы пользуетесь при написании Html кода редактором с подсветкой, то сразу же заметите неладное по изменению цвета вашего комментария:

    Понятие блочных и строчных элементов (тегов) в Html

    Все теги, которые возможно использовать внутри элементов Body (то, что отображается на веб странице и список которых вы можете найти в валидаторе W3C), можно разделить на две группы: строчные и блочные теги.

    Блочные элементы используются для построения структуры Web документа, а строчные используются для оформления кусков текста (строк). Причем, всегда нужно соблюдать одно незыблемое правило — не заключать внутрь строчных блочные теги .

    Самыми яркими и показательными представителями строчных и блочных тэгов являются, соответственно, Div (блочный элемент — отсюда и пошло название блочной верстки) и Span (строчный). Эти теги языка гипертекстовой разметки являются парными, т.е. у них есть открывающий и закрывающий тэг.

    Вообще, теги Div и Span не имеют абсолютно никакого предназначения и смысла в чистом Html без использования таблиц каскадных стилей CSS. Они являются контейнерами, позволяющими изменять свойства заключенных в нем элементов через CSS.

    Если вы пропишите в исходном коде страницы подряд несколько элементов Div, то на веб странице каждый из них, скорее всего, попытается занять все доступное ему пространство по ширине, и поэтому расположены такие контейнеры будут друг под другом. Контейнеры Div при нормальных условиях рядом друг с другом стоять не будут, если принудительно не заставить их делать это.

    Например, такой вот Html код будет отображаться в трех блоках расположенных друг под другом:

    В браузере Firefox наряду с очень полезным я еще использую плагин , который очень помогает при . Среди всего прочего он может показывать блочные элементы, обводя их рамочкой. Именно этот плагин developer создал синие рамочки вокруг контейнеров Div на приведенном скриншоте.

    В теги же Span можно заключать куски текста (строки) Html кода для придания им определенных свойств через CSS, и такие элементы могут размещаться в одной строке рядом друг с другом. Например, такой вот код в браузере будет иметь следующий вид:

    Содержимое Span здесь тоже было подсвечено с помощью плагина Web developer. Т.к. элементы Span являются строчными, то не следует внутрь них заключать блочные теги, например, все те же Div контейнеры.

    Удачи вам! До скорых встреч на страницах блога сайт

    Вам может быть интересно

    Что такое язык гипертекстовой разметки Html и как посмотреть список всех тэгов в валидаторе W3C
    Теги и атрибуты заголовков H1-H6, горизонтальной линии Hr, переноса строки Br и абзаца P по стандарту Html 4.01
    Теги Font (Face, Size и Color), Blockquote и Pre - устаревшее форматирование текста в чистом HTML (без использования CSS)
    Списки в Html коде - теги UL, OL, LI и DL
    Как вставить в HTML ссылку и картинку (фото) - теги IMG и A
    Пробельные символы и форматирование ими кода в Html, а так же спецсимволы неразрывного пробела и другие мнемоники
    Как задаются цвета в Html и CSS коде, подбор RGB оттенков в таблицах, выдаче Яндекса и других программах Select, Option, Textarea, Label, Fieldset, Legend - теги Html формы выпадающих списков и текстового поля
    Как создать гиперссылку (А, Href, Target blank), как открывать ее в новом окне на сайте, а так же сделать картинку ссылкой в Html коде
    Iframe и Frame - что это такое и как лучше использовать фреймы в Html

    Описание

    Элемент предназначен для указания типа текущего документа - DTD (document type definition, описание типа документа). Это необходимо, чтобы браузер понимал, как следует интерпретировать текущую веб-страницу, поскольку HTML существует в нескольких версиях, кроме того, имеется XHTML (EXtensible HyperText Markup Language, расширенный язык разметки гипертекста), похожий на HTML, но различающийся с ним по синтаксису. Чтобы браузер «не путался» и понимал, согласно какому стандарту отображать веб-страницу и необходимо в первой строке кода задавать .

    Существует несколько видов , они различаются в зависимости от версии языка, на которого ориентированы. В табл. 1. приведены основные типы документов с их описанием.

    Табл. 1. Допустимые DTD
    DOCTYPE Описание
    HTML 4.01
    Строгий синтаксис HTML.
    Переходный синтаксис HTML.
    В HTML-документе применяются фреймы.
    HTML 5
    Для всех документов.
    XHTML 1.0
    Строгий синтаксис XHTML.
    Переходный синтаксис XHTML.
    Документ написан на XHTML и содержит фреймы.
    XHTML 1.1
    Разработчики XHTML 1.1 предполагают, что он постепенно вытеснит HTML. Никакого деления на виды это определение не имеет, синтаксис один и подчиняется четким правилам.

    Синтаксис

    Параметры

    Элемент верхнего уровня — указывает элемент верхнего уровня в документе, для HTML это тег .

    Публичность — объект является публичным (значение PUBLIC ) или системным ресурсом (значение SYSTEM ), например, таким как локальный файл. Для HTML/XHTML указывается значение PUBLIC .

    Регистрация — сообщает, что разработчик DTD зарегистрирован в международной организации по стандартизации (International Organization for Standardization, ISO). Принимает одно из двух значений: плюс (+) — разработчик зарегистрирован в ISO и - (минус) — разработчик не зарегистрирован. Для W3C значение ставится «-».

    Организация — уникальное название организации, разработавшей DTD. Официально HTML/XHTML публикует W3C , это название и пишется в .

    Тип — тип описываемого документа. Для HTML/XHTML значение указывается DTD .

    Имя — уникальное имя документа для описания DTD.

    Язык — язык, на котором написан текст для описания объекта. Содержит две буквы, пишется в верхнем регистре. Для документа HTML/XHTML указывается английский язык (EN ).

    URL — адрес документа с DTD.

    Закрывающий тег

    Не требуется.

    Пример 1. HTML 4.01

    HTML 4.01 IE Cr Op Sa Fx

    !DOCTYPE

    Пример 2. HTML 5

    HTML5 IE Cr Op Sa Fx

    !DOCTYPE

    Разум - это Будда, а прекращение умозрительного мышления - это путь. Перестав мыслить понятиями и размышлять о путях существования и небытия, о душе и плоти, о пассивном и активном и о других подобных вещах, начинаешь осознавать, что разум - это Будда, что Будда - это сущность разума, и что разум подобен бесконечности.

    Браузеры

    Internet Explorer до версии 6.0 требует, чтобы стоял обязательно в первой строке кода. В противном случае браузер переходит в режим совместимости (quirk mode).

    Хотя значение URL является не обязательным, браузеры при его отсутствии могут перейти в режим совместимости, поэтому всегда указывайте полный путь к DTD-файлу, как показано в табл. 1.

    Объявление типа документа ссылается на правила языка разметки - для того, чтобы браузер отрисовывал содержимое документа правильно.

    Различные Типы HTML Документа

    Объявление типа документа - это не HTML тег; это инструкция для веб браузера о версии языка разметки, на котором написана страница.

    Объявление типа документа ссылается на "Определение Типа Документа" или "Document Type Definition" (DTD). DTD устанавливает правила для языка разметки, так что браузеры отрисовывают содержимое корректно.

    Объявление типа документа должно стоять на первом месте в HTML документе, до тега .

    Совет: Всегда добавляйте тип документа к вашим страницам. Это помогает браузерам отрисовывать страницу правильно!

    Тип документа "HTML 4.01 Strict"

    Определение Типа Документа (DTD) содержит все HTML элементы и атрибуты, но НЕ ВКЛЮЧАЕТ репрезентативные и устаревшие элементы(типа font и center). Наборы фреймов (frameset) не разрешены:

    Тип документа "HTML 4.01 Frameset"

    Это DTD эквивалентно "HTML 4.01 Transitional", но разрешает использование наборов фреймов (frameset) :

    "http://www.w3.org/TR/html4/frameset.dtd">