@indeveloping

Как правильно по БЭМ реализовать два одинаковых по стилю блока?

Есть два самостоятельных блока: услуги и преимущества. С точки зрения стилизации у них всё одинаково. Единственно что их отличает друг от друга, это содержимое. Как их реализовать в таком случае по БЭМ?

1. Оставить всё как есть, и задать обоим блокам одинаковые стили (продублировать).

.services {
  /* Стили */
}

.advantages {
  /* Стили */
}

<section class="services">
  <h2 class="heading">Услуги</h2>
  <ul class="services__list">
    <li>Услуга 1</li>
    <li>Услуга 2</li>
    <li>Услуга 3</li>
  </ul>
</section>

<section class="advantages">
  <h2 class="heading">Преимущества</h2>
  <ul class="advantages__list">
    <li>Преимущество 1</li>
    <li>Преимущество 2</li>
    <li>Преимущество 3</li>
  </ul>
</section>


2. Создать один блок с названием к примеру section, один раз задать ему стили, и применить к блокам услуги и преимущества

.section{
  /* Стили */
}

<section class="section">
  <h2 class="heading">Услуги</h2>
  <ul class="section__list">
    <li>Услуга 1</li>
    <li>Услуга 2</li>
    <li>Услуга 3</li>
  </ul>
</section>

<section class="section">
  <h2 class="heading">Преимущества</h2>
  <ul class="section__list">
    <li>Преимущество 1</li>
    <li>Преимущество 2</li>
    <li>Преимущество 3</li>
  </ul>
</section>


Я склоняюсь к первому варианту, так как важен сам блок и его содержимое, а не его стиль. Ведь в теории стили у этих блоков могут меняться на разных страницах. Но хотелось бы услышать другие мнения, и аргументы.
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 1
mahmudchon
@mahmudchon
Что если:
.section{
  /* Стили общие */
}
.services {
  /* Стили свои */
}

.advantages {
  /* Стили свои  */
}


<section class="section services">
  <h2 class="heading">Услуги</h2>
  <ul class="services__list">
    <li>Услуга 1</li>
    <li>Услуга 2</li>
    <li>Услуга 3</li>
  </ul>
</section>

<section class="section advantages">
  <h2 class="heading">Преимущества</h2>
  <ul class="advantages__list">
    <li>Преимущество 1</li>
    <li>Преимущество 2</li>
    <li>Преимущество 3</li>
  </ul>
</section>
Ответ написан
Ваш ответ на вопрос

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

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