参见英文答案 >
Is there a CSS selector by class prefix?4个
所以我想知道是否有办法将通配符扔进我的CSS?
所以我想知道是否有办法将通配符扔进我的CSS?
我在按钮元素中有几个类.button-0,.button-1,.button-2,.button-3等.我想要定义所有.button- *类.
是否可以做以下事情:
button .button-[=*] { margin-right: 2rem; }
解决方法
使用
attribute selector:
button [class*="button-"] { margin-right: 2rem; }
从MDN:
[attr*=value]
– Represents an element with an attribute name of attr and whose value contains at least one occurrence of string “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>
在Chad points out中,一个元素完全有可能包含一个类,例如this-is-my-button-class.在这种情况下,将选择不期望的元素.为了防止这种情况,您可以使用两个选择器的组合:
button [class^="button-"],button [class*=" button-"] { margin-right: 2rem; }
选择器按钮[class ^ =“button-”]确保在按钮开始时选择元素.由于元素的第一个类可能不以button-开头,因此选择器[class * =“button-”](注意空白)确保它将被选中.