webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...

Допустимо ли в БЭМ задавать блоку модификатор?

Собственно, вопрос в САБЖЕ.
Я имею ввиду, допустимо ли писать так:

<div class="block--mod">
  <div class="block--mod__elem"></div>
  <div class="block--mod__elem--mod"></div>
</div>
  • Вопрос задан
  • 696 просмотров
Решения вопроса 2
Palehin
@Palehin
Frontend
<div class="block block--mod">
  <div class="block__elem block__elem--mod"></div>
  <div class="block__elem block__elem--mod"></div>
</div>
Ответ написан
Допустимо задавать блоку модификатор.

У вас же написан модификатор элемента.
Если использовать БЭМ-нейминг от яндекса то нужно писать:
.block__elem--mod.block__elem--mod
Но есть варианты нейминга с сокращенной запиюсью модификаторов, к примеру вот так:
.block__elem..--mod
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
GriNAME
@GriNAME
Front-End Developer, Android Developer
Класс модификатор один не используется. То есть всегда надо писать минимум 2 класса
block block_mod
block__elem block__elem_mod

Если у вас модификаторы блока сильно меняют сам блок то для элементов создайте модификаторы, которые будут подстраивать элементы под тот или иной размер / отступы / цвет / форму блока.
Если блок одного стиля, то для элементов такой модификатор. Если блок другой то и другие модификаторы для элементов

Например
block block_big
block__elem block__elem_big

block block_small
block__elem block__elem_small
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы