Ответ 1
Используйте селектор потомков [W3C]: div.tst div.cls
>
является дочерним селектором [W3C] и будет соответствовать только детям элемента.
Как вы можете переопределить класс, если его в другом конкретном классе?
div.cls {
color:blue;
}
div.tst > div.cls {
color:red;
}
<div class="cls">test</div> // text color = blue
<div class="tst">
<div class="cls">test</div> // text color = red
<div>
<div class="cls">test</div> // text color = blue
</div>
<div>
Как сделать последнее еще красным?
Используйте селектор потомков [W3C]: div.tst div.cls
>
является дочерним селектором [W3C] и будет соответствовать только детям элемента.
Я использовал это, он работает для меня:
.name-of-parent * {color: red; }
Точно так же. Однако ваше второе разделение не будет красным, потому что оно также содержится в другом подразделении. Селектор >
соответствует только ближайшим дочерним элементам под элементом, сопоставленным перед ним, поэтому он ищет внутри div.tst
только на одном уровне. Попробуйте удалить >
из селектора:
div.tst div.cls {
color:red;
}