CSS类选择器通配符[复制]

参见英文答案 > Is there a CSS selector by class prefix?4个
所以我想知道是否有办法将通配符扔进我的CSS?

我在按钮元素中有几个类.button-0,.button-1,.button-2,.button-3等.我想要定义所有.button- *类.

是否可以做以下事情:

button .button-[=*] {
  margin-right: 2rem;  
}

解决方法

使用 attribute selector
button [class*="button-"] {
  margin-right: 2rem;  
}

Example Here

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.在这种情况下,将选择不期望的元素.为了防止这种情况,您可以使用两个选择器的组合:

Example Here

button [class^="button-"],button [class*=" button-"] {
  margin-right: 2rem;  
}

选择器按钮[class ^ =“button-”]确保在按钮开始时选择元素.由于元素的第一个类可能不以button-开头,因此选择器[class * =“button-”](注意空白)确保它将被选中.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效