Допустим, у меня есть следующий CSS для универсального компонента списка, использующий BEM и SCSS:
.list {
&__item {
&:not(:last-child) {
margin-right: .3em;
}
}
}
Я хочу добавить модификатор, который может сделать список вертикальным, например:
.list--vertical {
display: flex;
flex-direction: column;
}
Моя проблема возникает, когда я думаю о полях для элементов list__item. Для вертикальных списков я хочу, чтобы мое поле было внизу, а не справа от каждого элемента. Если я правильно понял БЭМ, я не могу изменить стиль list__item на основе модификатора list, это правильно?
Чтобы быть более точным, это то, что я хочу сделать:
.list--vertical {
display: flex;
flex-direction: column;
.list__item {
&:not(:last-child) {
margin-bottom: .3em;
margin-right: 0;
}
}
}
Каков принятый способ справиться с этим с помощью БЭМ? Другой модификатор для list__item, который обрабатывает поля? Другой блок полностью для вертикальных списков?