我们可以在BEM中创建块修饰符元素吗?

Ami*_*mar 2 html css bem

我只想知道以下代码是否遵循BEM方法最佳实践?为块修饰符创建元素,即在这种情况下,"block - mod"是"块"块的修饰符.是否允许使用此模式创建嵌套元素:"block - mod__elm".

<div class="block block--mod">
   <div class="block__elm block--mod__elm">
</div>
Run Code Online (Sandbox Code Playgroud)

Nik*_*lov 5

在主题或类似情况下,我会使用嵌套选择器.这节省了HTML中的一些类,而@Jonathan Nicol表示这些子元素很难遵循.此外,稍后删除"品牌"将更容易,只需删除块类而不是所有元素.

例如,标题的Xmas标记.

.header--xmas .header__logo {
    /* Jingle bells, jingle bells, jingle all the way.*/
}
Run Code Online (Sandbox Code Playgroud)

资料来源:http://getbem.com/faq/#can-a-block-modifier-affect-elements-