Используя css, я хочу применить различные стили к элементу с классом test
. Но стиль должен быть другим, если он находится внутри элемента с классом a
или класса b
:Применить css на основе последнего предка?
<div class="a">
lorem
<div class="b">
ipsum
<div class="test"> </div>
</div>
</div>
должны получить различный стиль тогда
<div class="b">
lorem
<div class="a">
imsum
<div class="test"> </div>
</div>
</div>
Но если применить стиль
.a .test { background-color: red; }
.b .test { background-color: blue; }
оба будут иметь синий фон: https://jsfiddle.net/emk5fozg/4/
Я хочу, чтобы второй был красным, потому что это более прямой ребенок .a
, чем .b
.
Проблема заключается в том, что я не могу использовать дочерний селектор >
, потому что между соответствующими могут быть около 7 уровней div. (Я посчитал, пожалуйста, не спрашивайте, почему так много.)
Как назначить стили элементам на основе последнего предка?
Чтобы уточнить: я хочу только стилизовать div .test, ничего вокруг них. Есть много других элементов до и после них, которые не должны иметь стиль.
Я думаю, что я буду использовать что-то вроде этого. – Zotta