- Теория
- Теория
Расчёт значения специфичности
Вы вдоволь наигрались со специфичностью, а теперь пришло время изучить полные правила её вычисления.
Специфичность селектора разбивается на 4 группы — a
, b
, c
, d
:
- если стиль встроенный, то есть определён как
style="..."
, тоа=1
, иначеa=0
; - значение
b
равно количеству идентификаторов (тех, которые начинаются с#
) в селекторе; - значение
c
равно количеству классов, псевдоклассов и селекторов атрибутов; - значение
d
равно количеству селекторов по тегу и псевдо-элементов.
Полученное значение часто представляют в виде числа. Например, 0,1,0,0
записывают как 100
, а 0,0,1,0
— как 10
. Селектор, обладающий большим значением специфичности, обладает и большим приоритетом.
Несмотря на удобство, запись в виде числа может вводить в заблуждение. Важно помнить, что 0,1,10,0
не превращается в 200
, а двадцать селекторов по тегу имеют меньший приоритет, чем один селектор по классу.
Посчитаем специфичность в нашем примере:
Селектор | a, b, c, d | Число |
---|---|---|
span | 0, 0, 0, 1 | 1 |
div.cat-in-box | 0, 0, 1, 1 | 11 |
#floor.cat-in-box | 0, 1, 1, 0 | 110 |
div span | 0, 0, 0, 2 | 2 |
.cat-in-box | 0, 0, 1, 0 | 10 |
#floor span | 0, 1, 0, 1 | 101 |
Отсюда сразу видно, что в нашем примере самым приоритетным является селектор #floor.cat-in-box
.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.