Vextor-ltd
@Vextor-ltd
Webdeveloper

Допускается ли по методологии BEM внутри вёрстки не присваивать некоторым тегам BEM-классы, а вообще оставлять элементы без классов?

Допускается ли по методологии BEM внутри BEM-вёрстки не присваивать некоторым тегам BEM-классы, а вообще оставлять элементы без классов?

Пример:
<ul class="menu__links">
   <li><a class="menu__link" href="#about">О нас</a></li>
   <li><a class="menu__link" href="#portfolio">Наши работы</a></li>
   ...
</ul>


Или тегу необходимо тоже присвоить класс, хотя он по сути мне на фиг не нужен.
  • Вопрос задан
  • 416 просмотров
Пригласить эксперта
Ответы на вопрос 2
@mletov
Ну если рассуждать логически: у элемента есть назначение, а раз есть назначение - должен быть и класс, который это назначение описывает. А если назначения нет, то "нафиг не нужен" не класс, а сам элемент

https://ru.bem.info/methodology/solved-problems/
Ответ написан
verkhoturov
@verkhoturov
HTML-Верстальщик / Frontend Developer
Я, конечно, не "куратор тега CSS", но по БЭМ допускается чтобы у тегов отсутствовали классы.
Почему я так думаю?
1) В документации ни где не написано, что каждый тег внутри блока должен иметь класс.
2) В контексте БЭМ "тег" !== "элемент".
Например, если есть "элемент" содержащий текстовый контент, нет смысла давать класс тегу <strong> и даже тегу <p> если его внешний вид вам подходит.
3) Сам Яндекс (создатель БЭМ) спокойно оставляет теги без классов. Пример на этой странице https://yandex.ru/dev/maps/mapsapi/
Если посмотреть код, видно, что параграфы, ссылки, списки, "выделенный" текст не имеют классов. Если сами создатели так делают, то и вам можно :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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