Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Уже многие в БЭМ сообществе отходят от написания отдельного файла под модификатор и пишут модификатор прямо в файле с блоком,
common/
block/
block.css
block_mod.css
desktop/
block/
block.css
.block {}
.block_mod {}
@import url(common/block/block.css);
@import url(desktop/block/block.css);
@import url(common/block/block_mod.css);
@import url(common/block/block.css);
@import url(desktop/block/block.css);
@import url(common/block/block_mod.css);
@import url(desktop/block/block_mod.css);
{
block: 'block',
mods: { mod: true }
}
common/
block/
block.css
_mod/
block_mod.css
desktop/
block/
block.css
exports.deps = [
{
"block": "block"
},
{
"block": "block",
"mod": "mod"
}
];
['common/block/block.css', 'desktop/block/block.css'], затем перейдет к модификатору и допушит туда 'common/block/block_mod.css'.и, как мне кажется, достаточно логичная. результат будет получаться ожидаемым, если класть сущности на файловую систему консистентно на всех уровнях: либо везде разделяем, либо везде в один файл.
А ещё там есть отличная фича, которая как раз подходит для БЭМ — это использование амперсанда.
.nav {
background: white;
&__link {
font-size: 1.2em;
&_active {
color: blue;
}
}
}.nav {
background: white;
}
.nav__link {
font-size: 1.2em;
}
.nav__link_active {
color: blue;
}
Вёрстка по БЭМу в Ruby on Rails