Можно ли так писать в bem?

<div class="header">
  <div class="header__left"></div>
  
  <div class="header__right right-lite">
    <div class="right-lite__control"></div>
    <div class="header__btn"></div>
  </div>
</div>


Выдуманный пример, просто не понимаю можно ли писать элементы одного блока внутри другого, по итоге в дочернем блоке родные элементы и элементы родителя. Можно ли так?

<div class="header">
  <div class="container">
    <div class="header__logo"></div>
    <nav class="header__nav"></nav>
  </div>
</div>


А это реальный пример, вот важно узнать так ли можно?
  • Вопрос задан
  • 432 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега HTML
Верставший фронтендер
В целом, вроде всё легально(кроме семантики :-) ).
Но зависит от того, как Вы дальше стили пропишите.
https://ru.bem.info/methodology/key-concepts/#%D0%...
https://en.bem.info/forum/4/

то есть header__btn никак не должен зависеть от right-lite.
header__right - про позиционирование внутри header, никак не должно быть связанно с right-lite

<div class="header__right right-lite"> - яркий пример классического бэм микса. То есть по факту Вам нужен блок right-lite, но для позиционирования внутри header Вы миксуете его как элемент header__right
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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