Хочу сделать один из элементов списка активным. Активность подразумевает изменение цвета шрифта, фона, границ для вложенных элементов. Как это правильно сделать в БЭМ?
Пример вёрстки без БЭМ:
<div class="item active">
<div class="square"></div>
<div class="text">Step 1</div>
</div>
<div class="item">
<div class="square"></div>
<div class="text">Step 2</div>
</div>
.item .text {
color: gray;
}
.item .square {
border: 1px solid gray;
}
.item.active .text {
color: red;
}
.item.active .square {
border-color: red;
}
Реализация с БЭМ
<div class="item">
<div class="item__square item__square_active"></div>
<div class="item__text item__text_active">Step 1</div>
</div>
<div class="item">
<div class="item__square"></div>
<div class="item__text">Step 1</div>
</div>
.item__text {
color: gray;
}
.item__square {
border: 1px solid gray;
}
.item__text_active {
color: red;
}
.item__square_active {
border-color: red;
}
Так это делается в БЭМ или есть варианты? Такой вариант не удобно использовать.
Каскад от модификатора блока на элементы допустим (например при темизации):
Благадорю, в документации об этом не находил.
https://ru.bem.info/methodology/css/#%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D1%81%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D1%8B