Эти возможности определены в файле _bem.scss.
Настройки:
Создаёт блок с указанным именем.
Синтаксис:
block ( имя ) {
Стили
}
См. Пример блока
Создаёт элемент с указанным именем. Может использоваться только внутри block.
Синтаксис:
element ( имя [, имя2] ) {
стили
}
Если указан только один аргумент, то имя класса будет составлено из имени текущего блока и этого аргумента. Если указано два аргумента, то первый будет использован как имя блока, а второй как имя элемента.
См. Пример блока
Создаёт модификатор блока или элемента. Может использоваться только внутри block или element.
Синтаксис:
modifier ( свойство [, значение ] ) {
стили
}
См. Пример блока
Возвращает имя класса элемента.
Имя блока.
Имя элемента.
Имя класса с учётом настроек схемы именования.
@include block(foo) {
display: block;
@include element(bar) {
display: inline;
@include modifier(important) {
font-weight: bolder;
}
}
@include modifier(size, large) {
font-size: 1.5rem;
}
}
CSS:
.foo {
font-size: 1rem;
display: block;
}
.foo__bar {
display: inline;
}
.foo__bar_important {
font-weight: bolder;
}
.foo_size_large {
font-size: 1.5rem;
}