Давайте попробуем упростить правило каскадирования на примере. Правила идут более конкретно к общим.
- Применяет правило первого идентификатора (над классом и / или элементами)
независимо от заказа)
- Применяет классы к элементам независимо от порядка
- Если нет класса или идентификатора, применяются общие
- Применяет последний стиль в порядке (порядок объявления, основанный на порядке загрузки файла) для той же группы / уровня.
Вот код CSS и HTML;
<style>
h2{
color:darkblue;
}
#important{
color:darkgreen;
}
.headline {
color:red;
}
article {
color:black;
font-style:italic;
}
aside h2 {
font-style:italic;
color:darkorange;
}
article h2 {
font-style: normal;
color: purple;
}
</style>
Вот стиль CSS
<body>
<section>
<div>
<h2>Houston Chronicle News</h2>
<article>
<h2 class="headline" id="important">Latest Developments in your city</h2>
<aside>
<h2>Houston Local Advertisement Section</h2>
</aside>
</article>
</div>
<p>Next section</p>
</section>
Вот результат. Независимо от порядка файлов стилей или объявления стиля, id="important"
применяется в конце (обратите внимание на class="deadline"
, объявленный последним, но не имеет никакого эффекта).
Элемент <article>
содержит элемент <aside>
, однако вступит в силу последний объявленный стиль, в данном случае article h2 { .. }
для третьего элемента h2.
Вот результат для IE11: (недостаточно прав для публикации изображения) DarkBlue: Houston Chronicle News, DarkGreen: последние события в вашем городе, фиолетовый: раздел местной рекламы Хьюстона, черный: следующий раздел