Css 在边界元法中对一个类使用多个修饰符可以吗?

Css 在边界元法中对一个类使用多个修饰符可以吗?,css,bem,Css,Bem,向边界元中的一个图元添加多个修改器是否可以,如下所示: my-item__icon--open--not-red 如您所见,我在我的项目图标中添加了--open和--not red。 这样行吗? 有没有更好的方法来实现同样的效果?在一个元素上有多个修饰符是可以的,但每个选择器只能有一个修饰符。不要忘记,修饰符只能作为新的选择器添加到现有元素选择器:。 资料来源/示例: 然后,您可能要逐个设置它们的样式: .my-item__icon {display: none;} .my-item__ico

向边界元中的一个图元添加多个修改器是否可以,如下所示:

my-item__icon--open--not-red
如您所见,我在我的项目图标中添加了--open--not red。 这样行吗?
有没有更好的方法来实现同样的效果?

在一个元素上有多个修饰符是可以的,但每个选择器只能有一个修饰符。不要忘记,修饰符只能作为新的选择器添加到现有元素选择器:
。 资料来源/示例:

然后,您可能要逐个设置它们的样式:

.my-item__icon {display: none;}
.my-item__icon--open {display: inline;}
.my-item__icon--not-red {color: blue;}

这是主观的,因为边界元法主要是一种风格指南。我个人认为多个修饰符没有问题。因为这不是刻板的定律,但我个人认为我会将修饰符解耦为
my-item\uuu图标--打开
my-item\uu图标--而不是红色
,我会同时应用这两个。只是口味和上下文的问题。修饰符不应该应用于像
myitem--open
这样的块吗。不是问题中的元素。@Batu.Khan,在我的示例中,两个修饰符被添加到同一个块中。如果每个修饰符的多个类让您感到困扰,我构建了一个Sass库,允许OP使用它们最初的单个类: