微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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-”](注意空白)确保它将被选中.

原文地址:https://www.jb51.cc/css/215146.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。