@denisopko
Стремлюсь стать выше)

В методологии БЭМ можно делать два класса?

Есть три блока с разными классами
<div class="header-top__language">
<div class="header-top__contact">
<div class="header-top__profile">


Для них всех мне нужно задать некоторые одинаковые свойства. Как будет правильно сделать? Сгруппировать классы и прописать стили или же добавить второй класс, который будет одинаковый во всех блоках (эти классы, которые уже есть, они мне нужны)?
И можно ли вообще делать два класса у элемента в методологии БЭМ?
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
Get-Web
@Get-Web
Front-End Developer
В вашем случае я бы советовал добавить второй класс (Да, так можно и нужно) например header-top__item и описал в нем общие свойства:
<div class="header-top__language header-top__item">
<div class="header-top__contact header-top__item">
<div class="header-top__profile header-top__item">


При этом можно не просто создать 2 класса, а сделать микс блоков и элементов, что в дальнейшем позволит их переиспользовать:
<div class="header-top__item language header-top__language"></div>
<div class="header-top__item contact header-top__contact"></div>
<div class="header-top__item profile header-top__profile"></div>


В итоге:
header-top__item - Описывает ряд элементов со схожими свойствами
language, contact, profile - Независимые блоки
header-top__language, header-top__contact, header-top__profile - Модификаторы в контексте header-top (Не самое удачное название header-top но вопрос не в этом)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rogiivs
просто добавьте еще один класс и все, не мучайтесь. Это нормально
Ответ написан
Комментировать
sim3x
@sim3x
sass + @extend
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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