- Теория
- Теория
Расчёт значения специфичности
Вы вдоволь наигрались со специфичностью, а теперь пришло время изучить полные правила её вычисления.
Специфичность селектора разбивается на 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
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.