Назад к вопросам
Junior
83
questionbank
Что такое методология BEM?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
БЭМ (Блок, Элемент, Модификатор) — методология именования классов в CSS для создания масштабируемого и поддерживаемого кода. Ее цель — сделать компоненты независимыми, переиспользуемыми и легко изменяемыми.
Основные принципы:
- Блок: Независимый компонент, имеющий уникальное имя. Может содержать элементы и другие блоки.
<div class="card">...</div> - Элемент: Часть блока, которая не имеет самостоятельного значения вне контекста блока. Имя элемента отделяется от имени блока двумя подчеркиваниями (
__).<div class="card"> <h2 class="card__title">...</h2> <p class="card__text">...</p> </div> - Модификатор: Добавляет блоку или элементу состояние или изменяет его внешний вид/поведение. Имя модификатора отделяется от имени блока или элемента двумя дефисами (
--).<button class="button button--primary button--disabled">...</button> <div class="card card--featured">...</div>
Преимущества:
- Читаемость: Классы легко понять, видно структуру компонента.
- Переиспользование: Компоненты независимы и могут использоваться в разных частях проекта.
- Поддерживаемость: Изменения в одном компоненте минимально влияют на другие.
- Масштабируемость: Хорошо подходит для больших команд и проектов.
Пример структуры:
.card {
/* Стили блока */
}
.card__title {
/* Стили элемента */
}
.card__text {
/* Стили элемента */
}
.card--featured {
/* Стили модификатора блока */
}
.button {
/* Стили блока */
}
.button--primary {
/* Стили модификатора блока */
}
.button--disabled {
/* Стили модификатора блока */
}