CSS

Специфичность подставляемых в строку стилей

Все рассмотренные до сих пор значения специфичности начинались с нуля, и вы, наверное, хотите знать, зачем он вообще там нужен. Дело в том, что этот первый нуль зарезервирован для встроенных объявлений стилей, специфичность которых превосходит специфичность всех остальных объявлений. Рассмотрим следующее правило и фрагмент разметки:

h1 {color: red;}
<h1 style="color: green;">Вечеринка на лугу</h1>


Исходя из того, что это правило применяется к элементу h1, можно ожидать, что текст h1 будет зеленым. В CSS2.1 так и происходит, и объясняется это тем, что специфичность данного объявления равна 1,0,0,0. Это значит, что даже элементы с атрибутами id, которые сопоставляются с правилом, подчиняются встроенным в тег стилям. Изменим предыдущий пример и включим в него атрибут id:

h1#meadow {color: red;}
<h1 id="meadow" style="color: green;">Вечеринка на лугу</h1>


В соответствии со специфичностью встроенных объявлений текст элемента h1 по прежнему будет зеленым. Приоритетность подставляемых в строку объявлений стилей является новшеством для CSS2.1 и была введена при написании CSS2.1 для фиксации поведения веб-броузера. В CSS2 специфичность подставляемого в строку объявления стиля была 1,0,0 (специфичности CSS2 составлялись из трех значений, а не из четырех). Иначе говоря, его специфичность была такой же, как и у селектора идентификатора, который при этом перекрывал встраиваемые объявления стилей.
Теги:
Специфичность
Добавлено: 17 Июля 2018 21:14:08 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...