|
|
Переопределение в каскадных таблицах стилейВ случаях, когда есть конфликт в стилях, то есть когда одно и то же правило встречается несколько раз, переопределение играет важную роль. В подобных случаях правило, которое стоит последним, имеет наибольший приоритет. Это относится не только к внешним таблицам, но и всем другим способам применения стилей. Рассмотрим кусок кода из внешней таблицы стилей: p {color: red;} p {color: blue;}
Второе правило заменяет первое в порядке переопределения, поэтому
Рассмотрим другой пример. В внешней таблице стилей разместим
Если вы напишете Это относится и к мультиклассам. Пример: .red {color: red; font-weight: bold;} .blue {color: blue;} <p class="red blue">this text will be blue and bold</p>
Первый класс «red» делает текст красным и полужирным, более поздний класс «blue»
делает текст синим и «побеждает» в определении цвета, но текст всё ещё полужирный, потому что правило «blue»
не переопределяет атрибут Примечание. В статье имена классов «red» и «blue» взяты для наглядности примера и ваших кодах могут быть другими. |
Вообще
Вообще необходимость в переопределениях от непродуманности макета. Я ругаю своих верстальщиков - когда они непродуманно назначают свойства доменным тегам или классам и потом пытаются их переопределять, сами потом путаются - бардак в головах, бардак в коде, бардак в проекте.
Заставляю анализировать эскиз будущего проекта и тратить на это время; и даже перевёрстывать всё, если позволяет ситуация.
Подобные черезпробельные переопределения свойств классами, или из-за ошибок в структуре наследования использование !important - это мусор в 90% случаев.