Записи с тегом "приоритет"

Приоритеты стилей

12 Май 2009 | Автор: admin | Теги: ,

Можно импортировать несколько внешних таблиц и комбинировать их с определениями стилей на уровне документа и тега разными способами. Их эффекты складываются. Можно, например, задать тип шрифта для тега <h1> из нашего примера во внешней таблице, в то время как для его отображения будет использоваться стиль из определений на уровне документа.

Эффекты таблиц стилей не накапливаются, однако из ряда стилей, которые, возможно, определяют различные значения для одного и того же свойства (цвет содержимого тега <h1>, например), всегда существует один, обладающий приоритетом. Его можно найти, следуя правилам, перечисленным ниже, и действуя по порядку.

Ранжируем по источнику
Стиль, определенный «ближе» к тегу, имеет приоритет над установленными с «большего расстояния». Так, встроенные в тег стили обладают большим приоритетом, чем определенные на уровне документа, которые, в свою очередь, приоритетнее действия внешних таблиц.

Если можно применить несколько стилей, ранжируем их по классу
Свойства, заданные в классе тегов, имеют приоритет над свойствами, определенными для тега вообще.

Если все еще осталось несколько стилей, ранжируем их по специфичности
Свойства, определенные для более специфического окружения, имеют приоритет перед свойствами, введенными для менее специфического контекста.

Если стилей все еще несколько, ранжируем их по порядку вхождения
Последнее описание преобладает над всеми предыдущими.

Результат взаимодействия между свойствами стилей и традиционными атрибутами тегов почти невозможно предсказать. Диктуемые таблицами стилей цвета фона и переднего плана – определены ли они внешним образом, на уровне документа или встроены в тег – имеют предпочтение перед различными атрибутами цвета, которые могут встретиться в тегах. Атрибут align для встроенных в документ изображений, напротив, обычно оказывается сильнее выравнивания, предписанного стилями.

Существуют мириады комбинаций стилей и атрибутов. Нужно владеть магическим кристаллом, чтобы предсказать, какая из них выиграет, а какая проиграет в битве приоритетов. Правила, регулирующие множественные определения и взаимоотношения стилей и атрибутов, недостаточно ясно представлены в принадлежащем W3C стандарте
CSS2, нет и четкого описания правил предпочтения, реализованных в броузерах, поддерживающих стили. Это особенно неприятно, потому что впереди нас ждет продолжительный период, возможно в несколько лет, когда пользователи будут работать как с поддерживающими,так и не поддерживающими стили броузерами. Чтобы добиться одного и того же эффекта, авторам придется одновременно применять средства управления, основанные и на стилях, и на атрибутах тегов.

Тем не менее мы советуем просто спасаться бегством от одноразовых, встроенных в документ, локализованных эффектов, достигаемых, скажем, тегом <font> или атрибутом color. Они сделали свое дело, их время ушло. Наступила пора вернуть (безболезненно!) последовательность и систематичность в представление документов. Используйте стили. Это стезя HTML.