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

Как правильно оформить блок по БЭМ?

Есть простой код:

<!-- slider -->
<aside class="slider">
    <div class="wrapper">
        <!-- slider-title -->
        <div class="slider-title">
            <h2>Натяжные потолки</h2>
            <h3>Установка качественных и долговечных потолков по отличным ценам</h3>
        </div>
        <!-- /slider-title -->
    </div>
</aside>
<!-- /slider -->

Собственно, 2 блока slider и slider-title. Да, это именно блоки будут. Потому как это только часть кода.

И как же правильно подойти к оформлению CSS:

Вариант 1:

<div class="slider-title">
    <h2>Натяжные потолки</h2>
    <h3>Установка качественных и долговечных потолков по отличным ценам</h3>
</div>
.slider-title {
    h2 {}
    h3 {}
}

или правильным будет Вариант 2:

<div class="slider-title">
    <h2 class="slider-title__h2">Натяжные потолки</h2>
    <h3 class="slider-title__h3">Установка качественных и долговечных потолков по отличным ценам</h3>
</div>
.slider-title {
    &__h2 {}
    &__h2 {}
}

То есть требуется ли указание класса для h2 и h3, которые итак будут иметь только свои стили и никак нигде не повторятся?
  • Вопрос задан
  • 392 просмотра
Решения вопроса 1
edalis
@edalis
HTML, CSS, JS, Node.js
Второй вариант правильный.
По БЭМ, в идеале, не должно быть никаких селекторов, только классы и минимум каскадов.

Как работать с CSS-препроцессорами и БЭМ
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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