Некоторые веб -страницы создаются в соответствии со стандартами, но есть и многие, которых нет. Даже если вы не можете создавать веб -страницы, которые следуют стандартам, вы хотите, чтобы браузер правильно отображал эти страницы в соответствии со стандартами. В настоящее время большое количество веб-страниц заполнено большим количеством нестандартного кода, и они все еще работают должным образом. Фактически, большинство кодов, разработанных для более старых браузеров, будет правильно отображаться в новых браузерах (хотя могут быть различия в том, как он отображается). В чем причина этого? Фактически, строго следование последним стандартам полностью подорвет основу этих страниц. Это, безусловно, неприемлемо для любого браузера, который хочет изменить ситуацию.
Режим рендеринга браузера
Современные браузеры включают в себя различные режимы рендеринга с целью поддержки как веб -страниц, которые следуют стандартам, так и в веб -страницах, предназначенных для старых браузеров. Среди них режим стандартов (то есть строгий режим презентации) используется для представления веб -страниц, которые следуют по последним стандартам, в то время как режим Quirks (то есть режим свободного представления или режим совместимости) используется для представления веб -страниц, предназначенных для традиционных браузеров. Кроме того, обратите внимание, что Mozilla/Netscape 6 добавил режим почти стандартов для поддержки веб -страниц, предназначенных для более старой версии стандарта.
Что такое Doctype Switch?
Объявление Doctype, размещенное в верхней части веб -страницы, является ключом к получению браузера в правильный режим рендеринга. Браузер автоматически переключается на соответствующий режим рендеринга, чтобы правильно отобразить тип документа, указанный в объявлении Doctype.
Теоретически, это должен быть очень интуитивно понятный переключатель. Если Doctype указывает, что текущая веб -страница - это документ, который соответствует стандарту (то есть HTML 4+ или XHTML 1+), браузер переключится в режим стандартов. Если Doctype не указан, или указаны HTML 3.2 и более старые версии, браузер переключается в режим Quirks. Таким образом, браузер может отображать документы, которые правильно следуют стандартам, не отказавшись от старомодных веб-страниц, которые не соответствуют стандартам.
Проблема переключения Doctype
Тем не менее, переключение Doctype является неполным решением. Даже если вы используете объявление Doctype в своем веб -документе, браузер может не принимать режим рендеринга, который вы хотите отобразить веб -страницу. Есть много причин, включая Doctype неправильной формы, и различные началы <? Xml version = 1.0 Encoding = UTF-8?>), Которая включает в себя веб-страницу XHTML. Тем не менее, IE, Opera и более старые версии Safari все хотят, чтобы первая строка документа была декларацией Doctype. Итак, если до этого есть что -то еще (включая XML Prolog), Doctype не распознается. Поэтому существование XML Prolog принесет IE, Opera и Safari в режим Quirks. XML Prolog не требуется, поэтому вы можете безопасно опустить его на веб -странице XHTML. ПРИМЕЧАНИЕ. Обязательно включите атрибут Charset в метатеги HTTP-equiv, чтобы восполнить отсутствующий атрибут кодирования в Prolog XML.
Отсутствует URL или относительный URL:
В полном объявлении Doctype включите URL -адрес соответствующего файла определения типа документа (DTD). Если URL -адрес теряется или если он указан, относительный путь (а не полностью квалифицированный интернет -адрес), большинство браузеров введут режим Quirks, независимо от режима, указанного в объявлении Doctype.
Доктип неправильной формы:
Браузер очень чувствителен к форме и формату объявления Doctype, и если нельзя распознана неверная форма Doctype, он заставит в режим причудливых причуд (по этой причине мы рекомендуем копировать и вставить известный правильный документ в документ вместо того, чтобы печатать его лично). Общей причиной доктипа ошибки формы является то, что между первой частью Doctype и URL не хватает места. Разрушайте доктип, разделенный на две строки на одну линию, и это пространство часто теряется.
Переходный период документация:
Когда браузер обрабатывает документ переходного периода, у него, скорее всего, есть противоречивые проблемы. IE и Opera использовать режим стандартов; Netscape 6 и более старые версии Safari используют режим Quirks; Netscape 7, Mozilla 1 и более новые версии Safari используют режим почти стандартов Netscape, который является лучшей версией режима стандартов.
Неизвестный документ:
Существует также несоответствие, когда браузер обрабатывает непризнанные документы. IE и Opera войдут в режим стандартов; Другими словами, он предполагает, что нераспознанный Doctype является новым стандартом, который не был интегрирован в браузер. Напротив, Netscape 6 будет переключаться на режим Quirks при столкновении с непризнанными документами.
Переключение Doctype может быть эффективным средством для того, чтобы браузер для ввода правильного режима рендеринга и правильно отобразить веб -страницу, при условии, что вы замечаете несоответствия в различных браузерах и можете активно избегать различных проблем.
2. Используйте правильное объявление DoctypeМы можем игнорировать это при создании страниц (включая меня, мне обычно лениво не писать и не использовать по умолчанию браузера). С появлением текущего увлечения стандартизации кодирования веб -страницы все необходимо для того, чтобы понять эту деталь, которая будет полезна. Как говорится, нет никакого порядка без правил.
В то время как в большинстве веб -документов есть декларации Doctype на вершине, многие люди не обращают на это внимания. Это одна из многих деталей, которые небрежны благодаря программному обеспечению для веб -авторизации при создании нового документа. В то время как Doctype упускается из виду многими, это необходимый элемент в любом веб -документе, который следует за стандартами. Doctype влияет на проверку кода и определяет, как браузер в конечном итоге отображает вашу веб -документацию.
Роль документа
Оператор Doctype указывает, какие наборы правил следует использовать читателем для интерпретации тегов в документе. В случае веб -документов программа чтения обычно представляет собой программу, такую как браузер или устройство для проверки, и правила являются правилами, содержащимися в определении типа документа (DTD), опубликованном W3C.
Каждый DTD включает в себя серию тегов, атрибутов и свойств, которые используются для обозначения содержания веб -документа; а также включает в себя правила, в которых указываются теги, в которых другие теги. Каждый стандарт, используемый в Интернете (например, HTML 4 Frameset и XHTML 1.0 Transitional) имеет свой собственный DTD. Если теги в документе не следуют DTD, указанному в результате объявления Doctype, документ может быть неправильно отображаться в браузере в дополнение к тому, чтобы не проходить проверку кода. Браузер более терпимы, чем устройство проверки для проблемы противоречивых наценки. Тем не менее, неверные объявления документации часто вызывают неверно веб -страниц или вызывают их вообще не отображаться.
Выберите правильный документ
Чтобы получить правильное объявление Doctype, ключом состоит в том, чтобы DTD соответствовал стандартам, за которыми следует документ. Например, предполагая, что документ следует за строгим стандартом XHTML 1.0, объявление документа Doctype должно относиться к соответствующему DTD. С другой стороны, это неуместно, если объявление Doctype указывает xhtml dtd, но документ содержит теги HTML в старом стиле; Точно так же, это также неуместно, если объявление Doctype указывает HTML DTD, но в документе содержится строгие теги XHTML 1.0.
Иногда вы не можете использовать декларацию Doctype вообще. Если не указано никакого действительного объявления Doctype, большинство браузеров будут использовать встроенный DTD по умолчанию. В этом случае браузер будет использовать встроенный DTD, чтобы попытаться отобразить указанный вами тег. Для некоторых временных, поспешных документов (их много) вы действительно можете рассмотреть возможность пропустить объявление Doctype и принятие дисплея по умолчанию браузера.
Вполне возможно написать декларацию Doctype с нуля и позволить ему указывать на DTD по вашему выбору. Однако, поскольку большинство веб -документов должны следовать всемирно признанному веб -стандарту, опубликованному W3C, эти документы обычно содержат одну из следующих стандартных объявлений Doctype:
Html 2: <! Doctype html public -// ietf // dtd html 2.0 // en>
Html 3.2: <! Doctype html public -// w3c // dtd html 3.2 final // en>
Html 4.01 strict: <! Doctype html public -// w3c // dtd html 4.01 // en http://www.w3.org/tr/html4/strict.dtd>
Html 4.01 Transitional: <! Doctype html public -// w3c // dtd html 4.01 Transitional // en http://www.w3.org/tr/html4/loose.dtd>
Html 4.01 Frameset: <! Doctype html public -// w3c // dtd html 4.01 Frameset // en http://www.w3.org/tr/html4/frameset.dtd>
Xhtml 1.0 strict: <! Doctype html public -// w3c // dtd xhtml 1.0 strict // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd>
Xhtml 1.0 Переход: <! Doctype html public -// w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>
Xhtml 1.0 Frameset: <! Doctype html public -// w3c // dtd xhtml 1.0 frameset // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
Xhtml 1.1: <! Doctype html public -// w3c // dtd xhtml 1.1 // en http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd>
Xhtml 1.1 плюс Mathml Plus Svg: <! Doctype html public-// w3c // dtd xhtml 1.1 плюс mathml 2.0 плюс svg 1.1 // en http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-math-svg.dtd>
В дополнение к декларации Doctype, указанной выше, в некоторых документах со специальными требованиями используются несколько других заявлений.
Объявление Doctype, как правило, является первой строкой документа, до тега <html> и другого содержимого документа. Обратите внимание, что в документе XHTML инструкция по обработке XML (также известная как XML Prolog) иногда появляется перед Doctype: <? XML Version = 1.0 Encoding = UTF-8?>
Чтобы убедиться, что веб -страница отображается правильно и плавно передает проверку, использование правильного документа является ключом. Doctypes, которые являются противоположными, неправильными или неправильными по форме, являются виновниками большого количества проблем.
При разработке веб -страницы с DW создайте новый файл и увидите, что в передней части кода всегда есть что -то ниже.
<! Doctype html public -// w3c // dtd html 4.01 transitional // en http://www.w3.org/tr/html4/loose.dtd> Это DW, который автоматически добавляет информацию DTD на страницу файла веб -страницы, которую можно удалить. После удаления браузер будет использовать DTD по умолчанию.
3. Какой тип Doctype выбрать
Когда вы начинаете создавать сайт, который соответствует стандартам, первое, что вы делаете, это объявить документ, который отвечает вашим потребностям.
Проверьте исходный код этой страницы, и вы можете увидеть, что первая строка: <! Doctype html public -// w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>
Откройте некоторые сайты, которые соответствуют стандартам, таким как личный веб -сайт известного разработчика программного обеспечения для веб -дизайна Macromedia и Design Master Zeldman, и вы найдете тот же код. Код для других сайтов, которые соответствуют стандартам (например, k10k.net), заключается в следующем:
<! Doctype html public -// w3c // dtd xhtml 1.0 Frameset // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>!doctype html public -//w3c // dtd xhtmith/ensition/ensition/ensition/ensition/ensition/ensition/ensition/ensition/encition ntmition/encition/encition natmition ntmition. http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd> br>. Полный код заключается в следующем:
<! Doctype html public -// w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1strict.dtd> http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
Какой документ мы должны выбрать
Идеальная ситуация, конечно, является строгим DTD, но для большинства из нас, дизайнеров, которые являются новыми для веб -стандартов, переход DTD (xhtml 1.0 Transitional) в настоящее время является идеальным выбором (включая этот сайт, который также использует переходный DTD). Поскольку этот DTD также позволяет нам использовать идентичность, элементы и атрибуты уровня презентации, также легче пройти проверку кода W3C. ПРИМЕЧАНИЕ. Логотип и атрибуты упомянутого выше уровня презентации относятся к тем тегам, которые используются исключительно для управления производительностью, такие как таблицы для набора набора, фона цветовых знаков и т. Д. В XHTML идентичность используется для представления структур, а не для реализации выражений. Наш переход заключается в том, чтобы в конечном итоге разделить данные и представления.
Например: обнаженная модель меняет одежду. Модели похожи на данные, а одежда проявляется в форме, а модели и одежда разделены, так что вы можете поменять одежду по желанию. Оказывается, что в HTML4 данные и производительность смешиваются вместе, и очень трудно изменить форму выражения за один раз. Ха -ха, это немного абстрактно, и нам нужно постепенно понять эту концепцию во время процесса подачи заявления.
Пополнить
Объявления Doctype должны быть размещены в верхней части каждого документа XHTML, прежде всего кода и идентификаторов.
4. Так чиновник определяет Doctype HTML Public! Доктип
----------------------------------------------------------------------------------
Определяет определение типа документа (DTD), которое следует документ HTML.
Новичок в Microsoft? Internet Explorer 6. Вы можете использовать этот оператор для переключения Internet Explorer 6, а затем на стандартный режим совместимости.
грамматика
HTML-доступность HTML Регистрация элементов // Организация // Тип тегов // определение языка URL
Возможные значения
Элемент верхнего уровня: указывает тип элемента верхнего уровня, объявленный в DTD. Это соответствует объявленному типу документа SGML. HTML по умолчанию. HTML.
Доступность: указывает, является ли официальный общественный идентификатор (FPI) общедоступным объектом или системным ресурсом. Публичный дефолт. Общедоступный объект. Системные ресурсы, такие как локальные файлы или URL -адреса.
Регистрация: укажите, зарегистрирована ли организация Международной организацией для стандартизации (ISO). + По умолчанию. Название организации зарегистрировано. - Название организации не зарегистрировано. Целевая группа по интернет -инженерии (IETF) и Всемирная ассоциация паутины (W3C) не являются зарегистрированными организациями ISO.
Организация: указывает название группы или организации, которая указывает на создание и обслуживание DTD, на которую ссылается декларация! IETF IETF. W3C W3C.
Тип: Определяет общедоступный текстовый класс, то есть тип ссылки на объект. DTD по умолчанию. Dtd.
Тег: указывает общедоступное описание текста, то есть уникальное описательное название для цитируемого публичного текста. Номер версии может быть включен позже. HTML по умолчанию. HTML.
Определение: укажите определение типа документа. Фреймсет Фреймсет Документация. Строгие исключают все репрезентативные атрибуты и элементы, которые хотят эксперты W3C, потому что листы стилей уже идеальны. Переход содержит все содержимое, кроме элемента кадров.
Язык: указывает общедоступный текстовый язык, то есть систему кодирования естественного языка, используемая для создания ссылочного объекта. Определение языка было написано как языковой код ISO 639 (заглавные два буквы). En по умолчанию. Английский.
URL: указывает местоположение ссылочного объекта.
Комментарии
Это объявление должно появиться в начале документа, перед тегом HTML.
! Element Doctype не нуждается в закрытии тега.
Этот элемент доступен в HTML для Microsoft? Internet Explorer 3.0.
Вы можете использовать это объявление для переключения в строгий стандартный режим совместимости в Internet Explorer 6 и более поздней версии. Чтобы включить этот переключатель, включите объявление!
Примечание в стандартном режиме совместимости, совместимость с другими версиями Internet Explorer не может быть гарантирована. При включении стандартного режима совместимости, поведение рендеринга документа может отличаться от поведения будущей версии Internet Explorer. Если контент первоначально фиксирован (например, сгорел на компакт -диске), этот режим не следует использовать.
Пример
В следующем примере демонстрируется, как использовать! Doctype объявления указывают DTD, которому документ соответствует и переключает Internet Explorer 6, а затем на стандартный режим совместимости. Объявления в следующих примерах указывают соответствие HTML 4.0 DTD. Второе объявление указывает строгое. Первое объявление не указано. Оба оператора будут переключать Internet Explorer 6, а затем на стандартный режим совместимости.
<! Doctype html public -// w3c // dtd html 4.0 // en>
<! Doctype html public -// w3c // dtd html 4.0 strict // en>
Объявления в следующих примерах указывают соблюдение DTD Transitionalhtml 4.0. Второе объявление указывает URL DTD. Первое объявление не указано. Второй оператор будет переключать Internet Explorer 6, а затем на стандартный режим совместимости. Первое заявление не будет.
<! Doctype html public -// w3c // dtd html 4.0 Переход // en>
<! Doctype html public -// w3c // dtd html 4.0 Переход // en
http://www.w3.org/tr/html4/loose.dtd>