@pwnography

Как правильно назвать классы по Бэм?

Здравствуйте. Имеется следующая структура:
.sidebar>.sidebar__page-header> и далее в этом элементе лежит блок logo внутри которого ещё 3 элемента. Так как в Бэм нет элемент элемента, то наверняка есть блок элемента, каким и является блок лого относительно .sidebar__page-header. Как правильно по Бэм эту структуру обозначить?
.sidebar__page-header-logo? А внутри .sidebar__page-header-logo__img? Верно мыслю? Или легче один раз воспользоваться каскадом, сделать .sidebar .page-header__logo?
  • Вопрос задан
  • 411 просмотров
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
есть блок элемента


Нет там ничего такого. Есть только блоки, элементы и модификаторы.

<div class="sidebar">
    <div class="sidebar__page-header-logo logo">
        <div class="logo__img"></div>
        <div class="logo__element2"></div>
        <div class="logo__element3"></div>
    </div>
</div>


или если кому (например мне) нравится jade:

.sidebar
    .sidebar__page-header-logo.logo
        .logo__img
        .logo__element2
        .logo__element3


все очень просто. Каждый блок - по возможности независим (отказываться полностью от касказа иногда банально не выгодно). Он определяет базовые стили. А за позиционирование блоков отвечают элементы.
Ответ написан
Комментировать
symbol
@symbol
short
еще есть доклад на эту тему видео
Ответ написан
Комментировать
tyukavin_denis
@tyukavin_denis
web developer
frontender.info/MindBEMding
раз статья.
frontender.info/learning-to-love-bem
два статья.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы