Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мержевич В. - Вёрстка веб-страниц - 2011.pdf
Скачиваний:
115
Добавлен:
10.06.2015
Размер:
7.75 Mб
Скачать

Глава II

Режимы браузеров

Во время противостояния браузеров Internet Explorer и Netscape каждый из разработчиков старался улучшить своё детище, чтобы усилить позиции программы на рынке и привлечь больше пользователей. Netscape 4 и IE4 ужасно поддерживали веб-стандарты, поэтому следующая версия, IE5 должна была не только исправить ошибки IE4, но и показать улучшенную поддержку спецификации CSS. Это было необходимо еще и по политическим мотивам, поскольку компания Microsoft вошла в группу W3C и начала оказывать сильное влияние на разработку HTML и CSS.

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

Все старые страницы отображались по старым правилам, а для включения режима поддержки стандартов в код страницы необходимо добавить элемент <!DOCTYPE> (доктайп).

Браузер IE5 под Mac стал первым браузером, у которого появилось два режима отображения страниц — режим совместимости и стандартный режим. Идея понравилась и распространилась среди разработчиков других браузеров, так что подобные режимы вскоре появились в Mozilla, Safari и Opera. IE5 под Windows, а также старые браузеры вроде Netscape 4 используют только режим совместимости.

Режим браузера для просмотра конкретной веб-страницы устанавливается через элемент <!DOCTYPE>, который является обязательным согласно спецификации HTML и XHTML. Сложности возникают из-за того, что по сути доктайп не один, а различается дополнительными параметрами, влияющими в итоге на режим отображения страницы.

Стандартный режим

Режим поддержки стандартов (X)HTML и CSS. Для переключения браузера в этот режим используется один из следующих доктайпов.

Для HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REChtml40/strict.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html>

Для XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Также некоторые браузеры переключаются в стандартный режим при отправке документа как text/xml, application/xml или application/xhtml+xml (об этом ниже).

Браузер IE до версии 7.0 включительно не поддерживает стандартный режим и при использовании любого доктайпа указанного выше переходит в почти стандартный режим.

В этом режиме поддерживаются правила спецификации CSS и игнорируются свойства с ошибками. Вот некоторые особенности анализа стилей в стандартном режиме.

Числа без указания единиц измерения игнорируются

Если в стилях при указании размеров задано одно лишь число без упоминания единиц (width: 500 вместо width: 500px), такое значение игнорируется.

Чувствительность к регистру

Имена классов и идентификаторов чувствительны к регистру, поэтому классы с именами mydiv и MyDiv разные.

Имена идентификаторов и классов

Имена должны начинаться с латинской буквы, а не числа.

Ширина блока

Ширина блока складывается из значений свойств width, padding, border и margin.

Высота блока

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

Изображения

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

В примере 2.1 продемонстрирован код переводящий браузер в стандартный режим.

Пример 2.1. Стандартный режим

 

 

 

 

 

 

 

 

HTML 5.0

 

IE 7

IE 8

IE 9

Cr 8

Op 11

Sa 5

Fx 3.6

 

 

 

 

 

 

 

 

 

 

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" /> <title>Стандартный режим</title>

</head>

<body> <p>HTML5</p>

</body>

</html>