Как повысить приоритет CSS Selector?
Селекторы и специфичность
Повысить приоритет CSS-правила можно через специфичность, порядок, слои каскада или `!important`.
Способы от лучшего к худшему
- Порядок — при равной специфичности побеждает правило ниже. Иногда достаточно перенести правило.
- Слои — стили в более позднем слое
@layerпобеждают стили из раннего независимо от специфичности:
@layer base, components;
@layer components { .button { color: white; } }- Специфичность — добавить класс, атрибут или повторить класс:
.card .button,.button.button. - Инлайн-стиль —
style="…"сильнее селекторов. - `!important` — перебивает всё, кроме другого
!importantс большей специфичностью или из более важного источника.
Почему !important — последний вариант
Его можно перебить только другим !important, и стили быстро превращаются в «войну важностей». Уместен в утилитах (.hidden { display: none !important }) и при переопределении чужих инлайн-стилей.
Коротко для собеседования
Порядок и @layer — лучшие способы, затем специфичность; инлайн-стили и !important — крайние меры.
Подробнее: MDN — Каскад