没有什么可以阻止您使用多个类/修饰符:
<element class="button button--primary button--midnight" />
和
<element class="button button--primary button--moss" />
但这有它的缺点。
首先你把你的 html 弄得乱七八糟,让它的可读性降低。其次,使用两个修饰符,强制源顺序在 中的重要性CSS
,因此在此设置中,最后一条规则将始终获胜:
.button {
color: black; }
.button--primary {
color: green; }
.button--moss {
color: yellow;
font-weight: bold; }
.button--midnight {
color: crimson;
font-weight: bold; }
这将迫使您记住这个约束,它本身就会产生维护问题。
因此,最好坚持不使用多个修饰符的规则,因此在您的情况下,您可以这样做:
<element class="button button--primary-midnight" />
并且<element class="button button--primary-moss" />
可能用于在andSASS
@extend
之间共享通用规则 : button--primary
button--midnight
//SASS
.button--primary {
color:white;
//other rules
}
.button--primary-midnight {
@extend .button-primary;
color:black;
}
这将编译为:
/* CSS */
.button--primary,
.button--primary-midnight {
color:white;
/* other rules */
}
.button--primary-midnight {
color:black;
}