Теперь вы знаете, что width и height задают размер области содержимого элемен_ та, а атрибуты left, top, right и bottom измеряются относительно отступов эле_ мента_контейнера, а значит, вам пора узнать еще одну деталь: Internet Explorer версий от 4 до 5.5 для Windows (но не IE 5 для Mac) реализует атрибуты width
и height некорректно и включает в их значения рамку и отступы (но не поля). Так, если установить ширину элемента равной 100 пикселов и поместить слева
и справа отступы шириной 10 пикселов и рамку толщиной 5 пикселов, то шири_ на области содержимого элемента в этих версиях Internet Explorer будет равна лишь 70 пикселов.
В IE 6 CSS_атрибуты положения и размера работают корректно, когда броузер находится в стандартном режиме, и некорректно (но совместимо с предыдущи_ ми версиями), когда броузер находится в режиме совместимости. Стандартный режим (и соответственно корректная реализация блочной модели CSS) включа_ ется при наличии тега <!DOCTYPE> в начале документа. Этот тег объявляет, что до_
382 Глава 16. CSS и DHTML
кумент соответствует стандарту HTML 4.0 (или более поздней версии) или неко_ торой версии стандартов XHTML. Например, любое из следующих объявлений типа HTML_документа приводит к отображению документов в IE 6 в стандарт_ ном режиме:
<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 4.0//EN"> <!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 4.0 Strict//EN">
<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Такое различие между стандартным режимом и режимом совместимости (иногда называемым «режимом с причудами») не уникально для Internet Explorer. Дру_ гие броузеры также реагируют на объявление <!DOCTYPE>, переходя в режим точ_ ного соблюдения стандартов, а при отсутствии этого объявления возвращаются к поведению по умолчанию, обеспечивающему обратную совместимость. Но как бы там ни было, только IE обладает такой вопиющей проблемой совместимости.