Использование SCSS для именования классов по BEM является хорошей практикой. SCSS предоставляет удобные инструменты для использования переменных, миксинов и наследования стилей, что делает код более организованным и легким в поддержке.
При именовании классов по BEM можно использовать как вложенность, так и отсутствие вложенности. Оба подхода имеют свои преимущества.
1. Вложенность: использование вложенности может сделать код более структурированным и легким для чтения, особенно когда есть много элементов и модификаторов. Однако, при использовании вложенности, может быть сложнее найти классы для правки стилей, особенно если вложенность слишком глубока.
```scss
.block {
&__element {
// styles
}
&--modifier {
// styles
}
}
```
2. Без вложенности: использование плоской структуры классов без вложенности может упростить поиск и редактирование стилей, так как классы явно указывают на свою принадлежность блоку, элементу или модификатору.
```scss
.block {
// styles
}
.block__element {
// styles
}
.block--modifier {
// styles
}
```
Оба подхода имеют свои плюсы и минусы, поэтому выбор зависит от предпочтений и специфики проекта. Лучшей практикой является выбор подхода и его последовательное применение для обеспечения единообразия в коде.