PassFront
  1. PassFront
  2. База знаний
  3. Селекторы и специфичность

Что такое специфичность в CSS?

Селекторы и специфичность

Специфичность — вес селектора, по которому браузер выбирает, какое из конфликтующих правил применить к элементу.

Как считается

Тройка (id, классы/атрибуты/псевдоклассы, теги/псевдоэлементы), сравнение слева направо:

p { color: black; }           /* (0,0,1) */
.text { color: blue; }        /* (0,1,0) */
#intro { color: red; }        /* (1,0,0) — победит */
p.text:first-child { }        /* (0,2,1) */

Место в каскаде

Специфичность — не первый критерий. Сначала сравнивается важность (!important) и происхождение стилей, затем слои @layer, потом специфичность, и в конце — порядок в коде.

Практические советы

  • держать специфичность низкой и одинаковой — проще переопределять;
  • не стилизовать по id;
  • не плодить длинные цепочки селекторов;
  • :where() для стилей, которые должны легко перебиваться.

Коротко для собеседования

Специфичность — вес селектора (id, классы, теги), который решает конфликт правил после важности и слоёв, но до порядка в коде.

Подробнее: MDN — Специфичность

Другие вопросы раздела