Допустим, есть нескольких однотипных секций.
section.header
section.about
section.footer
В каждой секции есть блоки с одинаковым видом(стили), т.е.
<section class="header">
<div class="header__title">Заголовок</div>
<div class="header__subtitle">Подзаголовок</div>
<div class="header__text">Основой текст. Основой текст. Основой текст. Основой текст.</div>
<div class="header__btn><a class="header__link" href="#">Ссылка</a></div>
</section>
Раз он(стиль) повторяется, можно ли(правильно ли, с точки зрения БЭМ) сделать такую модификацию?
- Сделать микс с header, т.е. header fortext
- Вместо элементов сделать модификаторы
<section class="header fortext">
<div class="fortext_title">Заголовок</div>
<div class="fortext_subtitle">Подзаголовок</div>
<div class="fortext_text">Основой текст. Основой текст. Основой текст. Основой текст.</div>
<div class="fortext_btn"><a class="header__link" href="#">Ссылка</a></div>
</section>
Чтобы fortext... применять для др. секций
Код правильный, с точки зрения БЭМ ?? Или может лучше, как-то по другому?
— Почти:
fortext_title
,fortext_subtitle
,fortext_text
и др. — это, я так понял, элементы. Но записаны они как модификаторы.Если они повторяются, зачем появились header или footer? Тогда это они больше похожи на модификатор, например
.page__section.page__section_position_header
и.page__section.page__section_position_footer
.Без дизайна всего приложения гадать о полезности блока
fortext
с точки зрения БЭМ бесполезно. БЭМ — это про правильную композицию компонентов, а не «классы через чёрточку». Видеть эти закономерности гораздо важнее и правильнее с точки зрения БЭМ, чем пытаться обобщить повторяющиеся CSS-свойства.Не много не правильно записал (для модификаторов, мне удобнее --)
Если так:
у header__inner - свои отступы.
у about__inner - другие,
итд.
?
С точки зрения именования код «валидный». С точки зрения целесообразности без дизайна подсказать не могу.
Вообще странно. Section, но при этом класс header Соглашусь с мнением выше, без дизайна сложно понять. Но... Например так можно:
Если какую-то секцию нужно модифицировать, у меня обычно два варианта: