BEM методология упрощает разработку и поддержку веб-приложений.
Основана на принципах модульности и разделения пользовательского интерфейса на независимые блоки.
Разделение происходит на уровне имен классов, которые могут отвечать за блоки, элементы и модификаторы.
BEM блоки - это корневые элементы компонентов, отвечающие на вопрос "что это?".
Имена классов пишутся в нижнем регистре и разделяются символом дефиса.
BEM блоки не должны влиять на окружение, чтобы их можно было повторно использовать без последствий.
BEM элементы - это составные части BEM блоков, не могут использоваться в отрыве от них.
Имена классов строятся по схеме: название блока, два символа подчеркивания, название элемента.
BEM элементы можно вкладывать друг в друга без ограничений.
BEM модификаторы отвечают за вариации внешнего вида или поведения BEM блоков или элементов.
Имена классов строятся по схеме: название блока, два дефиса, имя модификатора.
BEM модификаторы всегда идут в дополнение к классу BEM блока или элемента.
Пример разметки лендинга по BEM методологии: шапка, логотип, меню, кнопка.
Использование BEM блоков и элементов для создания компонентов.
Применение BEM модификаторов для вариаций внешнего вида.
BEM упрощает написание CSS кода, избавляя от сложных селекторов.
Возможность разбивать один файл стилей на множество для каждого BEM блока.
Рекомендация сосредоточиться на главных концепциях методологии для новичков.