Я думаю, что вы думаете об этом немного задом наперед, поэтому давайте попробуем разобраться с языком, который вы используете.
.a .b .c{
background-color: #0000FF;
color: #ffffff;
}
Глядя на вышеупомянутый CSS, часть ".a .b .c" - это селектор , а часть между фигурными скобками - это стиль. Этот селектор говорит: «найдите мне все элементы с классом с« c », которые находятся внутри элементов с классом« b », которые находятся внутри элементов с классом« a », и примените к ним эти стили» - - это правило говорит, какие элементы на странице будут выглядеть так, как вы хотите.
Более одного селектора могут совпадать с одним и тем же элементом на странице, и существуют правила для того, в каком порядке они применяются к элементу (http://www.w3.org/TR/CSS2/cascade.html).) Простое правило состоит в том, что более «специфичные» селекторы переопределяют менее «специфичные» "селекторы." div.blueBanner pa: hover.highlight "гораздо более" специфичен ", чем" .blueBanner ". Если два правила имеют одинаковую специфику, то то, которое будет позже в файле CSS, переопределит.
Пример HTML:
<div class="a">
<div class="b">
<div class="c">foo</div>
<div class="c d">bar</div>
</div>
</div>
Итак, у вас есть селектор ".a .b .c" (как вы перечислили выше) и два элемента (foo и bar) на странице соответствуют этому селектору, так что все они получают цвет фона и все другие стили Вы определили.
Теперь вы также хотите, чтобы второй элемент имел зеленый цвет фона. Ему назначен другой класс "d", так что вы можете просто определить другой селектор, который соответствует только этому второму элементу ".a .b .d", и установить его background-color. Элемент "bar" по-прежнему получает все другие стили из селектора ".a .b .c" (шрифт, цвет и т. Д.), Но цвет фона из ".a .b .d".