1. 17. 15. Модификаторы блоков и элементов

В этой группе типовых интерфейсных шаблонов собраны примеры использования модификации блоков и их элементов.

Случай 1

Блок может измениться. Есть два или больше вариантов отображения этого блока.

Примерная разметка:

<div class="block">
  <div class="block__element-1"></div>
  <div class="block__element-2"></div>
...
</div>
...
<div class="block block--modifier">
  <div class="block__element-1"></div>
  <div class="block__element-2"></div>
...
</div>
Схема для случая 1
Схема для случая 1

Обычная карточка и карточка с любым шевроном (Новинка, Акция, Скидка и другие).

Пример для случая 1
Пример для случая 1

Распределение по блокам, элементам и модификаторам:

Блоки, элементы и модификаторы для карточки товара
Блоки, элементы и модификаторы для карточки товара

Разметка:

Случай 2

Некоторые элементы внутри БЭМ-блока могут изменяться и их внешний вид отличается от базового состояния.

Примерная разметка:

Схема для случая 2
Схема для случая 2

Под эту схему подходят фотографии из каталога, которым поставили лайк.

Пример для случая 2
Пример для случая 2

Блоки, элементы и модификаторы:

Блоки, элементы и модификаторы для каталога с фотографиями
Блоки, элементы и модификаторы для каталога с фотографиями

Разметка интерфейсного элемента:

Случай 3

Бывают случаи, когда оба описанные выше шаблона (модификация блока и модификация элемента) используются на одном БЭМ-блоке одновременно.

Примерная разметка:

Схема для случая 3
Схема для случая 3

Допустим, это карточка товара, который закончился. Во-первых, в таких карточках кнопка купить/заказать становится не активной, во-вторых, сама карточка может отличаться по внешнему виду.

Пример для случая 3
Пример для случая 3

Блоки, элементы и модификаторы:

Блоки, элементы и модификаторы для карточки товара
Блоки, элементы и модификаторы для карточки товара

Разметка карточки:

Случай 4

Вложенный блок отображается не в своём, обычном, базовом состоянии, а немного видоизменённым.

Примерная разметка:

Схема для случая 4
Схема для случая 4

К примеру, в блоке контакты ссылки на страницы в социальных сетях различаются по цвету.

Пример для случая 4
Пример для случая 4

Блоки, элементы и модификаторы для интерфейсного элемента:

Блоки, элементы и модификаторы для ссылок на соцсети
Блоки, элементы и модификаторы для ссылок на соцсети

Разметка для элементов:

Случай 5

БЭМ-блок может менять свой внешний вид и при этом быть ещё и другим БЭМ-блоком с модификацией.

Примерная разметка:

Схема для случая 5
Схема для случая 5

Под эту схему подходят всплывающие окна, для которых модификацией может служить вариант позиционирования (вверху экрана, внизу экрана).К примеру, нужно согласиться использовать Cookie на сайте, в то же время периодически появляется окно с советом дня.

Пример для случая 5
Пример для случая 5

Распределение по БЭМ-сущностям:

БЭМ-сущности для всплывающих окон на сайте
БЭМ-сущности для всплывающих окон на сайте

Разметка:

Last updated