@eugenedrvnk

Когда создавать служебный блок в БЭМ?

У меня есть следующая структура :
<div class="blog-hero-section__grid">
  <div class="blog-hero-section__grid-item"></div>
  <div class="blog-hero-section__grid-item"></div>
  <div class="blog-hero-section__grid-item"></div>
</div>


В данной ситуации возникает как раз тот момент, когда появляется желание создать что-то в духе элемента у элемента аля blog-hero-section__grid__item.

Какой вариант выхода из ситуации более правильный? Сделать blog-hero-section__grid-item или создать "служебный блок" blog-hero-section-grid и в него уже вложить item (blog-hero-section-grid__item).

Как я понимаю, тут уже скорее вопрос удобства, но просто я до действующего момента всё время выбирал бы вариант с __grid-item, но сегодня наткнулся на пару статей и там в примерах говорилось мол нужно создавать служебный блок т.к. __grid-item (в моей ситуации) выглядит непонятно.

Хотя для меня вроде как раз блок blog-hero-section-grid будет выглядеть более непонятным, нежели мой вариант.
Собственно, на какую сторону правильнее было бы перейти?)
  • Вопрос задан
  • 313 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vladdimir
Верстальщик
Присоединяюсь к ответу выше — с дизайном проще.
Можно сделать так:
<div class="hero-section__grid">
  ...
    <div class="hero-item hero-section__hero-item">
      <h2 class="hero-item__header">Hero Item 1</h2>
      ...
    </div>
</div>


Или так:
<div class="hero-section__grid">
  ...
    <div class="hero-section__content">
      <div class="hero-item">...</div>
    </div>
    <div class="hero-section__pagination">...</div>
    <div class="hero-section__footer">...</div>
</div>

Или еще как, выбирая оптимальный вариант для конкретного проекта.

Учитывая, что вам хочется делать элементы элементов, стоит перечитать руководство, методология отлично документирована. Хорошие статьи про БЭМ рассказывают про опыт и набитые шишки других разработчиков, и подразумевают, что вы методологией уже владеете. Если вы не владеете, они вас только запутают. Вводные статьи — вольный и урезанный пересказ официальной документации, причем часто гораздо худшего качества.
Ответ написан
Комментировать
Realetive
@Realetive
MODX Ambassador России, самозванный БЭМ-евангелист
Правильнее было бы начать с дизайна — на нём проще всего основывать советы по БЭМ-композиции.
Большинство статей «про БЭМ» написаны дилетантами, не осилившими bem.info и придумывающими свои полурабочие адаптации. Судя по опыту, вам не нужен ни «элемент элемента» (это вообще бессмысленно и противоречит методологии), ни служебный блок.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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