可以将多个 BEM 元素应用于 html 元素的 class 吗?

Is it OK to apply multiple BEM elements to an html element's class?

我正在根据 BEM convention.

在我的 Web 应用程序中构建 CSS

我有一个名为 item 的块和 3 个元素:item__sectionitem__titleitem__description

我正在使用这些 BEM classes 如下:

<div class="item">
  <div class="item__section item__title"> ... </div>
  <div class="item__section item__description"> ... </div>
</div>

item__section 元素 class 包含我们在元素之间重复使用的样式。

这是有效的 BEM 还是我应该为每种部分(标题和描述)创建 item__section 修饰符?

这绝对有效,叫做 mix:

我认为你不应该。 你可以像这样添加mixin:

<div class="item">
  <div class="item__section u-title"> ... </div>
  <div class="item__section u-description"> ... </div>
</div>

但不要在同一个标​​签中使用同一个块的两个元素,因为这样会导致特异性问题