Content
Ниже пример с div, имеющего класс "content".
Этот div почти идентичен с div "boxtest":
div.content { border:20px solid; padding:30px; background: #ffc; }
но имеет одно важное добавление. Добавилось еще одно правило, которое пользуется неполадкой в разборе CSS Internet Explorer 5/Windows и Internet Explorer 5.5/Windows, чтобы применить новую ширину, которая станет доминирующей.
div.content { width:400px; voice-family: "\"}\""; voice-family:inherit; width:300px; }
Этот div (включая кромку) также должен равняться шириной с голубой линией в Internet Explorer 5/Windows и Internet Explorer 5.5/Windows.
Также, сразу после предыдущего правила, мы добавляем еще одно правило для помощи пользовательским агентам, поддерживающие селекторы (selectors) CSS2 и коробочную модель, но не имеющие ту же неполадку что и Internet Explorer 5.x/Windows. Я называю это правило "хороший тон для Opera 5 (be nice to Opera 5)". Убедитесь, что вокруг '>' нет пустого места.
html>body .content { width:300px; }
Заметьте, что пользовательские агенты, имеющие неполадки разбора,
показанного значением
"\"}\""
, потенциально могут проигнорировать последующие значения,
так что правило "хороший тон для Opera 5" помогает "продолжить"
производить разбор каскадных таблиц стилей.
Для демонстрации того, что пользовательские агенты продолжают разбор CSS файла с данного момента, я добавил еще одно правило сразу же после предыдущего.
p.ruletest { color: blue }
Этот параграф имеет class="ruletest"
и поэтому
должен быть голубого цвета. Если цвет красный, то предыдущее правило (которое должно было быть заменено
последующим) используется не правильно. Заметьте, что последнее правило необязательно
и находится здесь только для цели показа того, что способ обхода коробочной модели восстанавливает все после себя.
Дополнения
Избегайте необязательный пролог (prolog) ?xml
20020404 Прэрит Бакта (Prerit Bhakta) заметил, что если вставлять пролог ?xml:
<?xml version="1.0"?>
то Internet Explorer 6/Windows использует "изворотливый режим" (quirky mode).
Так как пролог ?xml необязателен, я рекомендую его просто опускать.
Проверяйте таблицы стилей отдельно от его среды (как полностью отдельный файл), делающей его зависимым.
20020903 Джонатан Хорн (Jonathan Horn) заметил, что W3C (Консорциум Всемирной сети) и его проверка CSS возвращает ошибки когда используется свойство 'voice-family' в таблице стилей 'screen'.
Как я заметил в комментариях Dave Shea's mezzoblue, ошибка находиться в самой проверке W3C данного CSS файла. Проверка должна выводить предупреждение, а не ошибку, когда используются неподдерживаемые свойства. Эта проблема была доложена W3C:
- http://lists.w3.org/Archives/Public/www-validator-css/2001Jul/0086.html
- http://lists.w3.org/Archives/Public/www-validator-css/2001Oct/0070.html
Мой совет: проверяйте таблицы стилей как независимый файл, так вы будете знать что используете проверенный CSS. Потом вставляйте его методом @import.
Bidouillage de Boîtes
20020915 Кристоф Дюкэмп (Christophe Ducamp) благородно предоставил французский перевод этой страницы.
Portuguese Box Model Hack
20040210 Маурисио Сэми Силва (Mauricio Samy Silva) предоставил португальский перевод этой страницы.