Вы должны принять во внимание порядок старшинства в CSS (или каскад), если вы объявите свой h2
элемент, чтобы быть розовым в глобальном масштабе, чем это будет читаться как розовый, независимо от того, где он стоит. Если вы не укажете другой стиль под определенным классом, он будет изменен. Таким образом, в вашем случае, CSS будет читаться так:
h2 {
color:pink;
}
• Все h2
элементы будут отображаться как розовый
.foo h2 {
color: black;
}
• Под .foo
класса все h2
элементы будут отображаться как черный ,
.somestyle h2 {
color:red;
}
• Под .somestyle
класса всех h2
элементов будет отображаться красным цветом.
Вы можете обойти, что, будучи более конкретными с селекторы, например, так:
.somestyle .foo h2 {
color:blue;
}
• Здесь вы выбираете любой h2
элемент, который является дочерним .foo
, который является потомком .somestyle
и давая другой цвет. Обратите внимание на особенности этого селектора .somestyle .foo
, в отличие от менее специфичного селектора, такого как .foo
.
demo
Обратите внимание, как был написан порядок. Сначала у вас есть свой глобальный стиль h2
, а затем вы указываете разные цвета в других классах для того, чтобы перезаписать этот порядок. Так что все дело в организации.
Вот хорошая статья о порядке старшинства: http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/
Примечание: Я не рекомендую вам использовать важную декларацию, поскольку это нарушает естественный поток ваших правил, используйте соответствующие конкретные селекторы вместо!.
С "перезагрузкой" вы хотите вернуться к настройкам браузера по умолчанию? Пользовательские настройки?Хм, я не уверен, что это возможно для большинства стилей. У вас есть «font-size: medium», но это все. –
Я знаю, что это не помогает сейчас, но это один из тех времен, когда будущее будет здорово. Посмотрите HTML5 'scoped' CSS: http://html5doctor.com/the-scoped-attribute/ –