【发布时间】:2016-05-12 17:11:40
【问题描述】:
我无法理解使用 BEM --modifier css 命名约定的优势。谁能告诉我这是为什么:
.my-element--checked {
color: green;
}
比这更好?
.my-element.checked {
color: green;
}
使用 BEM --modifier 时,标记显然更加臃肿。
【问题讨论】:
-
您的问题表明异端缺乏对 BEM 宗教的坚持。实际上,您的解决方案更好。 AFAIK 名义上的原因是拥有单个类会产生更好的性能。然而,CSS 是从头开始设计的,以便在存在修饰符类(例如
.checked)时表现得非常好。为包括修饰符在内的所有内容的每个组合增加类不仅会膨胀——好词——你的 CSS,而且还会使其变得更加脆弱,每次更改一些小东西时都需要更改多个文件。