Как вы в БЭМе используете повторяющиеся текстовые элементы?
Допустим есть сайт, в котором есть куча разных блоков/секций и во всех них имеются одинаковые тайтлы, сабтайтлы, текстовые блоки, ссылки и так далее. Эти элементы порой отличаются лишь размером шрифта или цветом.
Пока делаю для каждого блока/секции свой &__title, &__text, &__link, и если надо вариации в плане стилей, то к ним же приставляю модификаторы.
Но это всё нарушает принцип DRY, так как приходится повторять один и тот же код. На этот случай я стал использовать scss placeholders (но думаю отказаться от них и перейти на миксины, пока спорный момент).
Всё ли правильно делаю? Была ещё идея просто каждый такой текстовый элемент сделать независимым блоком/компонентом и вставлять его в разные блоки/секции, но вроде так делать не канон.
Прикрепите картинку с дизайном — так будет проще понять, какую проблему вы решаете. Но вообще очень похоже, что вам просто нужно сделать БЭМ-микс ваших элементов с блоками, отвечающими за заголовки.
Максим, если вы не можете гарантировать порядок подключения классов в CSS, то почему сразу костыль? Каскадность — это ключевая парадигма CSS, вопрос в том, умеете ли вы её контролировать (и как вы это делаете). В БЭМ-стеке этой проблемы не возникает — там каждый блок/элемент «знает», какие стили ему нужно (если нужно) перекрыть, поэтому он подключается позже (при этом сохраняя специфичность на уровне «плоской» вложенности).