Я использую БЭМ на уровне написания классов. т.е. использую только сам принцип плоских стилей и все. Я выбрал такое пространство имен: blok-neme , block-nema--elem, block-name--elem__mod. У меня на страничках часто встречается текст оранжевого цвета, раньше я добавлял класс .orange нужному элементу и все. Можно ли также поступать с БЕМ версткой?
Можно запилить блок со стилями-хелперами и добавлять mix text_orange или text_color_orange
Т.е например у меня есть элемент с текстом:
<p class="article--title"></p>
и к этому элементу мы добавляем класс блок<p class="article--title text-color__orange"></p>
Верно?да. но если еще не поздно, я рекомендую все-таки инвертировать используемые разделители для элементов и модификаторов. это совершенно не принципиально с точки зрения смысла, но будет сбивать с толку при чтении существующей документации или использовании каких-либо библиотек, где не поддержена абстракция над неймингом.
Стоит пояснить, что абстракция над неймингом, это будущие повсеместное использование пакета bem-naming библиотеками, это позволит не задумываться о стиле наименования блоков. На текущий момент не известно что бы это где то было поддержено. Поэтому присоединяюсь к рекомендации @tadatuta
По твоей нотации (не ясно как ты описываешь значение модификатора, предположим так
block--elem__mod_val
) то что предлагает @zxqfox<p class="article--title text__color_orange"></p>
. Четкое соблюдение выбранного наименования важно, для поддержи и консистентности.Уверен если продолжишь в этом направлении то есть риск заболеть классянкой, хотя может быть это уже мутировавший вирус стилянки
@ilyar упс. Спасибо за уточнения ;-) нейминг я не приметил
@ilyar спасибо за ответ, но все же не очень ясно как не заболеть стилянкой (дофига классов) не используя bem-naming
@sun-ks если классы по делу, ничего плохого в них нет: главное, чтобы сохранялась семантика, а байтики отлично жмутся gzip-ом.