Вопрос проверяет понимание методологии организации CSS-кода и масштабируемости стилей.
BEM — это методология именования CSS-классов.
Она помогает писать предсказуемый и масштабируемый CSS.
BEM разделяет интерфейс на независимые компоненты.
Это снижает количество конфликтов и упрощает поддержку.
При росте проекта CSS становится сложным для поддержки. BEM решает эту проблему через строгие правила именования.
BEM (Block Element Modifier) — это методология, которая описывает интерфейс как набор независимых блоков с элементами и модификаторами.
Методология оперирует тремя понятиями:
Block
Независимый компонент интерфейса
Пример: button, menu
Element
Часть блока, не имеющая смысла вне его
Обозначается через __
Пример: menu__item
Modifier
Изменяет внешний вид или поведение
Обозначается через --
Пример: button--primary
<button class="button button--primary">
<span class="button__text">Отправить</span>
</button>
Устраняет конфликты имен
Делает CSS предсказуемым
Упрощает переиспользование компонентов
Облегчает командную разработку
BEM — это не просто нейминг, а подход к архитектуре CSS. Он особенно полезен в больших и долгоживущих проектах.