Приднестровская поддержка XOOPS
Вы разрабатываете сайт на XHTML и CSS, тестируете его в Internet Explorer, все, казалось бы, отлично, но... затем вы открываете тот же документ в Firefox и Safari и обнаруживаете, что все отображается совершенно по-другому. Что же происходит?
Решение
Помимо сбоев в Internet Explorer причиной этого может послужить работа броузера в режиме совместимости. У многих современных браузеров есть два режима отображения. Режим совместимости отображает документ, как это сделали бы старые броузеры, такие как Netscape 4 и Internet Explorer 4 и 5, с соответствующими ошибками. Стандартный режим отображения обрабатывает документы в соответствии со специ- фикацией W3C (или максимально приближенно к ним).
• Плохо структурированные документы, содержащие устаревшую информацию в описании doctype (или вовсе не имеющие описания doctype), отображаются в режиме совместимости.
• Если в документе содержится что-либо перед выражением DOCTYPE, в том числе и пролог XML, необходимый для документов на XHTML, Internet Explorer 6 отобразит его в режиме совместимости.
• Документы, созданные с помощью строгого стандарта HTML 4 или XHTML (с соответствующей декларацией), отображаются в стандартном режиме.
Переключение между стандартным режимом и режимом совместимости в зависимости от описания типа документа называется переключением режима отображения. Все предельно просто: используйте описание типа документа, переводящее броузер в стандартный режим, и убедитесь, что элемент doctype идет первым по порядку, чтобы IE6 не на что было пожаловаться. Ниже приведен список описаний типа документа, использование которых осуществляет переключение броузеров Internet Explorer 6, Internet Explorer 5 Mac, Opera 7, Safari, Firefox и Chrome в стандартный режим.(1)
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”>
HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”
“http://www.w3.org/TR/html4/strict.dtd”>
XHTML 1.0 Transitional
<!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.0 Strict
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
XHTML 1.1
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
Документы на XHTML должны содержать в начале пролог XML, например, такой:
<?xml version=”1.0” encoding=”utf-8”?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” lang=”en-US”>
...
</html>
К сожалению, из-за него Internet Explorer 6 перейдет в режим совместимости, поэтому придется его убрать:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” lang=”en-US”>
...
</html>
Обсуждение
Самыми известными являются особенности режима совместимости Internet Explorer. При его включении броузер использует неверную блочную модель CSS, которая использовалась в Internet Explorer 5 и 5.5. Таким образом, вместо того чтобы добавить внутренний отступ и рамку к окошку путем прибавления к его ширине (200 пикселов) 20 пикселов с каждой стороны (итого 240 пикселов), броузер отображает окошко шириной в 200 пикселов и отнимает от этого значения величину отступов. На рис. 7.4 показаны различия между двумя режимами.
Режим совместимости | Стандартный режим |
![]() | ![]() |
Рис. 7.4. Отображение документа в режиме совместимости и в стандартном режиме в Internet Explorer
При разработке нового сайта я рекомендую вам стремиться к соответствию требованиям стандартного режима, какое бы описание типа документа вы ни использовали. Новые броузеры, скорее всего, поддерживают стандарты W3C и выводят документ соответствующим образом вне зависимости от того, поддерживают ли они переключение режима отображения. В режиме совместимости броузеры ведут себя слишком уж странно, поэтому лучше с ним не связываться и оградить себя от проблем с самого начала.
Отправитель | Нити |
---|
4 пользователь(ей) активно (3 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 4 далее... |