PassFront
  1. PassFront
  2. База знаний
  3. Основы CSS

Как в CSS определяется приоритетность стилей?

Основы CSS

Приоритет стилей определяет каскад: браузер сравнивает правила по нескольким критериям по порядку, пока не найдёт победителя.

Порядок сравнения

  1. Происхождение и важность — !important из пользовательских стилей и браузера, затем !important автора, затем обычные стили автора.
  2. Слои каскада (@layer) — стили вне слоёв и более поздние слои важнее.
  3. Специфичность — (id, классы/атрибуты/псевдоклассы, теги/псевдоэлементы).
  4. Порядок в коде — при равенстве побеждает правило, объявленное позже.

Инлайн-стиль style="…" перебивает любые селекторы без !important.

Пример специфичности

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

Нюансы

  • :is() и :not() берут специфичность самого сильного аргумента, :where() — нулевую.
  • Наследуемое значение слабее любого правила, напрямую нацеленного на элемент.

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

Приоритет решает каскад: важность и происхождение → слои → специфичность → порядок в коде; инлайн-стили сильнее селекторов.

Подробнее: MDN — Каскад и наследование

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