所以我想知道是否有办法将通配符放入我的CSS?
我在.button-0
元素中有几个.button-1
,.button-2
,.button-3
,button
等类。我想要定义所有.button-*
类。
是否可以执行以下操作:
button .button-[=*] {
margin-right: 2rem;
}
答案 0 :(得分:12)
button [class*="button-"] {
margin-right: 2rem;
}
来自MDN:
[attr*=value]
- 表示属性名称为attr的元素,其值至少包含一次字符串" value" as substring。
button [class*="button-"] {
color: red;
}

<button>
<span class="button-0">text</span>
<span class="button-1">text</span>
<span class="button-2">text</span>
</button>
&#13;
作为Chad points out,元素完全有可能包含诸如this-is-my-button-class
之类的类。在这种情况下,将选择不期望的元素。为了防止这种情况,您可以使用两个选择器的组合:
button [class^="button-"],
button [class*=" button-"] {
margin-right: 2rem;
}
选择器button [class^="button-"]
确保如果元素以button-
开头,则会选择该元素。由于元素的第一堂课可能不以button-
开头,因此选择器[class*=" button-"]
(注意空格)确保它将被选中。
答案 1 :(得分:0)