← Все вопросы
Два правила задают одному элементу разный цвет — какое из них победит?
6
У меня на один и тот же абзац действуют два правила: одно через тег p, другое через класс .note, и цвета у них разные. Какой в итоге применится и почему? Как понять, кто главнее?
2 ответа
10
✓ Принятый ответ — помог автору
Браузер выбирает по специфичности (весу селектора). Грубо, по возрастанию силы:
- селектор по тегу (
p) — самый слабый; - селектор по классу (
.note) — сильнее; - селектор по id (
#note) — ещё сильнее.
Поэтому в твоём случае победит класс .note, даже если правило для p написано ниже:
p { color: black; } /* слабее */
.note { color: red; } /* сильнее — победит */
А вот если оба селектора одинаковой силы (например, два класса), то выигрывает тот, что написан ниже в файле — последний побеждает.
4
Поэтому совет: не лепи !important, чтобы «продавить» стиль — это перебивает всё и потом сам же запутаешься. Лучше понять иерархию: тег < класс < id < inline-стиль. А при равенстве решает порядок в коде.
Ваш ответ
Войдите, чтобы ответить на вопрос.