То, что у вас работает, , если браузер поддерживает его , , вы можете проверить его здесь . Вот моя тестовая разметка:
<div class="parent1">
<div class="subparent2">
<div class="class1 class2 class3">Match</div>
<div class="class1 class2">No Match</div>
</div>
</div>
С вашим текущим селектором:
.parent1 .subparent2 .class1.class2.class3 { color:red; }
На основании комментариев: Для ясности, два селектора не эквивалентны, это:
.parent1 .subparent2 .class1, .parent1 .subparent2 .class2 ...
Означает, что ребенок может иметь любой из классов и совпадать, но это:
.parent1 .subparent2 .class1.class2.class3
Означает, что ребенок должен иметь всех классов для соответствия, поэтому они служат различным целям.