Загрузка...
Загрузка...
BEM (Block — Element — Modifier) — это методология именования CSS-классов, созданная для организации, переиспользования и масштабируемости HTML и CSS кода.
Она помогает избежать конфликтов в стилях, сделать код понятным, предсказуемым и лёгким в сопровождении при работе в команде.
| Составляющая | Описание |
|---|---|
| Block | Независимая сущность, смысловой компонент (например, |
| Element | Составная часть блока, не имеет смысла вне него ( |
| Modifier | Состояние или вариация блока/элемента ( |
block
block__element
block--modifier
block__element--modifier
<div class="card">
<h2 class="card__title">Заголовок</h2>
<p class="card__description">Описание карточки</p>
<button class="card__button card__button--primary">Кнопка</button>
</div>
.card {
padding: 1rem;
border: 1px solid #ccc;
}
.card__title {
font-size: 1.25rem;
}
.card__button {
padding: 0.5rem 1rem;
}
.card__button--primary {
background-color: blue;
color: white;
}
Сразу понятно, где находится элемент, и к какому блоку он относится.
Нет глобальных зависимостей. Классы не пересекаются случайно.
Большой проект легче поддерживать, особенно в команде.
Можно выносить блоки в библиотеки или компоненты без дополнительных зависимостей.
Совет:
Используйте BEM как часть дизайн-системы или архитектуры стилей. Это не только про имена классов, но и про структурный подход к стилям.