Войти с помощью github
Форум /

И снова популярный вопрос про вспомогательные классы, на этот раз его задает ‏@life_maniac.

«Я правильно понимаю, что по БЭМу я не могу добавлять общие вспомогательные классы ко всем блокам? Например, есть класс center, который центрирует содержимое по обеим осям. Хочется иметь его в шапке и еще в паре блоков.»

Да, но нет :)

С одной стороны, БЭМ утверждает: «Не может быть классов вне блоков». С другой стороны, в БЭМ есть понятие миксов — нескольких блоков на одном DOM-узле.

Этот случай — наш.

Предлагаю рассмотреть класс center как универсальный блок, который можно подмешивать к любым другим блокам, чтобы центрировать их содержимое.

Примером такого блока в bem-core может служить clearfix, а в bem-componentsz-index-group.

Важно помнить, что миксы можно использовать не только в CSS, но и в JavaScript.

Подробнее об этом можно узнать из доклада «Миксы во вселенной БЭМ».