Вопрос проверяет знание методологий именования CSS-классов для поддержки масштабируемости и читаемости кода.
В больших проектах без единой системы имена классов быстро становятся хаотичными: .header, .headerTitle, .title-red. Это приводит к конфликтам, трудностям при рефакторинге и путанице. Методологии вроде BEM решают эту проблему, вводя строгую структуру.
BEM расшифровывается как Блок-Элемент-Модификатор. Блок — независимый компонент (например, button). Элемент — часть блока, не имеющая смысла вне его (button__icon). Модификатор — вариант состояния или внешнего вида (button_disabled).
Пример:
<div class="card">
<h2 class="card__title">Заголовок</h2>
<p class="card__text card__text_highlighted">Текст</p>
</div>Здесь card — блок, card__title и card__text — элементы, card__text_highlighted — модификатор элемента.
my-block.my-block__element.my-block__element_modifier.block__elem1__elem2 — плохо, лучше создать новый блок.Вывод: BEM — это стандарт де-факто для крупных проектов. Он делает CSS предсказуемым, упрощает командную работу и рефакторинг. Применяйте его, если проект растёт или в нём работает несколько разработчиков.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию