Микс
Способ использования разных БЭМ-сущностей на одном DOM-узле.
Миксы позволяют:
- совмещать поведение и стили нескольких БЭМ-сущностей без дублирования кода;
- создавать семантически новые компоненты интерфейса на основе имеющихся БЭМ-сущностей.
Рассмотрим пример микса блока и элемента другого блока.
Допустим, в проекте ссылки реализованы блоком link
. Необходимо сделать ссылками пункты меню. Существует несколько способов:
- Создать модификатор для пункта меню, который превратит пункт в ссылку. Но в таком случае для реализации модификатора придется скопировать поведение и стили блока
link
. Это приведет к дублированию кода. - Воспользоваться миксом универсального блока
link
и элементаlink
блокаmenu
. Микс двух БЭМ-сущностей позволит применить базовую функциональность ссылок из блокаlink
и дополнительные CSS-правила из блока menu без копирования кода.