Режимы и состояния в SCSS
Очень лаконичная статья про БЭМ.

Плохо


Был такой твит от Виталия Харисова, который наглядно демонстрирует результат непонимания основы БЭМ.

твит от Виталия Харисова


Если случай про вас, посмотрим на рисунок ниже.

Соотношение Режим-Состояние


При слегка неверном понимании БЭМ, код стилей выходит примерно таким:

.block { }
.block__elem1 { }
.block__elem1__elem2 { }
.block__elem1__elem2__elem3 { }



Хорошо


В разметке вложенность элементов — это норма, но в БЭМ все элементы Блока — это просто элементы, без какой либо зависимости от уровня вложенности относительно друг друга. БЭМ-дерево Элементов в рамках одного блока имеет один уровень вложенности. Смотрим на следующий рисунок.

Пример с кнопками


Теперь код выходит примерно таким:

.block { }
.block__elem1 { }
.block__elem2 { }
.block__elem3 { }

Успех.

Оригинал статьи

Комментарии (0)