Я пытаюсь определить подход к стандартизации классов в CSS для использования в нескольких проектах.
Я понимаю, что модель BEM позволяет упростить разработку, указав элементы блочного уровня для автономного стиля. Меня беспокоит этот подход в обработке глобальных элементов.
Пример:
У меня есть два «модуля»: Новости и События. В обоих модулях есть список элементов, но на сайте 1 модули идентичны, а на сайте 2 у них довольно уникальные стили.
Текущее понимание:
Это сообщение от 2014 года заставляет меня поверить, что лучшим подходом будет:
<div class="news news--listing module module--listing">...</div>
<div class="events events--listing module module--listing">...</div>
Я чувствую, что это может быть лучшим подходом, поскольку любой глобальный стиль может быть обработан в module__listing
, и если требуется уникальность, доступны определенные классы.
Хотя с здешними детьми мне сложнее. Скажем, у обоих есть список предметов, как к этому можно подойти хорошо? Пример:
<div class="news news--listing module module--listing">
<ul class="news__list item__list">
<li class="news__item item">...</li>
</ul>
</div>
Это похоже на перебор, но я не уверен в лучшем решении. Могу ли я просто сохранить это соглашение об именах в списке дочерних элементов?
Вопрос:
Мне интересно, есть ли какие-либо лучшие подходы к этому, о которых я могу не знать, или о каких-либо проблемах, поддерживающих этот тип подхода.