Я не эксперт БЭМ, но IMO, медиа-запросы не должны быть частью модификаторов.Модификаторы - это те, которые добавляют некоторый дополнительный стиль / функциональность в элемент.Например:
.link {
// link style
}
.link--active {
// modifier
// attributes of an active link only
text-decoration: none;
}
Теперь медиазапросы определяют, как элемент должен выглядеть / вести себя при просмотре на другом устройстве / ширине.На самом деле это не добавление каких-либо модификаций, а просто определение того, как оно должно выглядеть при других устройствах ширины.
Более того, я видел, что вы столкнулись с необходимостью добавления __
(2 подчеркивания) дваждыв некоторых ваших стилях.Это также то, что, как я считаю, не требуется, потому что, углубившись в какой-то вложенный HTML-макет, вам придется создавать очень длинные имена классов, которые в конечном итоге станут трудными для поддержки.
Следовательно, вы можете использовать правило большого пальца, когда вам захочется добавить __
дважды, просто сделайте его новым блоком.
Для лучшей читабельности и управления именами классов вы также можете добавить к своим классам префикс пространства имен.Вы можете прочитать эту статью для получения подробной информации по этому вопросу.
Он говорит очень хорошие понятия, такие как префиксы для разных классов.Например, если класс является компонентом, он может иметь префикс, например .c-myBlock
.Если это служебный класс, то к нему можно добавить префикс, например u-activeLink
и еще несколько похожих понятий.
Надеюсь, это поможет !!