@evgn_tarasevich

Как именовать модификаторы БЭМ?

Только- только начал осваивать БЭМ именование в верстке. Есть блок с логотипом-ссылкой, в ней одно слово белым цветом, другое оранжевым. В других элементах так же есть слова, которые нужно выделять таким же оранжевым цветом, а так же много заголовков в uppercase. Собственно вопрос: как правильно назвать модификатор? Через пробел: имя-блока_имя-элемента модификатор или имя-блока__имя-элемента_модификатор?
В данном случае accent должен выделить оранжевым слово. Правильно ли я назвал span внутри ссылки?
<div class="logo">
                        <a href="/" class="logo__link">Веб<span class="logo__link text_accent">Студия</span></a>
                    </div>

В случае ниже текст делается uppercase'ом. Если я применю стиль text-transform: uppercase; к модификатору slogan_text-up и захочу применить его к другому элементу, не .slogan, то в этом другом элементе всё- равно придётся указывать стиль slogan_text_upper. Выходит не нужно добавлять название блока к модификатору через "_" а писать модификатор через пробел?
<h1 class="slogan slogan_text_upper">Мы разрабатываем вещи</h1>
  • Вопрос задан
  • 681 просмотр
Решения вопроса 1
delphinpro
@delphinpro Куратор тега CSS
frontend developer
Модификатор не должен использовать в отрыве от своего блока. Модификатор .text_accent подразумевает, что модифицируется блок .text.
Логотип либо так
<div class="logo">
    <a href="/" class="logo__link">Веб<span class="logo__accent">Студия</span></a>
</div>

либо так
<div class="logo">
    <a href="/" class="logo__link">Веб<span class="text-accent">Студия</span></a>
</div>

Dj втором случае вы можете использовать блок text-accent где угодно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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