Задать вопрос
kid-programmer
@kid-programmer

БЭМ. Блок и его модификатор?

На сайте есть несколько разных заголовков, будет ли правильно сделать блок .header с модификаторами изменяющими его на нужный стиль.
<div class="page">
  <div class="page__header">
    <h1 class="header header_page">Заголовк страницы</h1>
  </div>
  <div class="page__slider">
    <div class="slider">
          <div class=slider__item> 
            <h1 class="header header_slider">Заголовк слайдера</h1>
          </div>
    </div>
  </div>
<div>

.header{}
.header_slider{}
.header_page{}

Грубо говоря .header будет пустым а все стили будут в .header_slider и .header_page..
Вопрос... по БЭМ так делать или что-то не правильно и лучше сделать по другому, как бы сделали вы?
  • Вопрос задан
  • 745 просмотров
Подписаться 2 Оценить 10 комментариев
Решения вопроса 2
А может не стоит отказываться от контекста и начать уже нормально работать?)
Столько времени тратится на постижение дзена БЭМ...
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
как бы сделали вы?

базовые стили (общие) в header, остальное в модификаторы в зависимости от нужд. Ну и да, не привязывайте именование модификаторов к контексту, для того что бы скажем добавить заголовкам маргин сверху от слайдера у вас элементы есть (slide__header)

В целом если сделать так:

<div class="page">
  <div class="page__header">
    <h1 class="header">Заголовк страницы</h1>
  </div>
  <div class="page__slider">
    <div class="slider">
          <div class="slider__item slide"> 
            <h1 class="slide__header header header--small" >Заголовк слайда</h1>
          </div>
    </div>
  </div>
<div>


ну вот как-то так... для более нагладного примера лучше привести макет или что-то упрощенное но передающую суть проблемы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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