Если вы используете селекторы классов, как в вашем примере, вы можете связать классы следующим образом:
.a > .b.d ~ .c.e
Выбирает элемент, который имеет class="c e"
который является родственным (то есть, идет, прямо или нет, после) элемента, который имеет как class="b d"
который является потомком некоторого элемента class="a"
Или, например, если вы хотите, чтобы .c.e
появлялся после элемента, который имеет либо class b
, либо d
:
.a > .b ~ .c.e, .a > .d ~ .c.e
Выбирает элемент, который имеет оба class="c e"
который является родственным элементом с class="b"
или class="d"
(или обоими)
который является потомком некоторого элемента class="a"
Оба селектора подразумевают, что .b
, .d
и .c.e
все являются потомками .a
. Я также должен подумать, что это дает вам пересечение селектора класса, которое вы ищете.