CSS class 选择器通配符
CSS class selector wildcard
所以我想知道是否有办法将通配符放入我的 CSS?
我在 button
元素中有几个 类,它们是 .button-0
、.button-1
、.button-2
、.button-3
等。我想得到所有的 .button-*
类 来定义。
是否可以这样做:
button .button-[=*] {
margin-right: 2rem;
}
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>
作为,一个元素完全有可能包含一个class比如this-is-my-button-class
。在这种情况下,将选择不需要的元素。为了防止这种情况,您可以使用两个选择器的组合:
button [class^="button-"],
button [class*=" button-"] {
margin-right: 2rem;
}
选择器 button [class^="button-"]
确保以 button-
开头的元素将被选中。由于元素的第一个 class 可能不是以 button-
开头,选择器 [class*=" button-"]
(注意空格)确保它会被选中。
你可以这样做
button[id|=button]{
color:red;
}
所有 ID 包含单词 button 的按钮都会受到影响。例如http://jsfiddle.net/czp28jpb/
所以我想知道是否有办法将通配符放入我的 CSS?
我在 button
元素中有几个 类,它们是 .button-0
、.button-1
、.button-2
、.button-3
等。我想得到所有的 .button-*
类 来定义。
是否可以这样做:
button .button-[=*] {
margin-right: 2rem;
}
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>
作为this-is-my-button-class
。在这种情况下,将选择不需要的元素。为了防止这种情况,您可以使用两个选择器的组合:
button [class^="button-"],
button [class*=" button-"] {
margin-right: 2rem;
}
选择器 button [class^="button-"]
确保以 button-
开头的元素将被选中。由于元素的第一个 class 可能不是以 button-
开头,选择器 [class*=" button-"]
(注意空格)确保它会被选中。
你可以这样做
button[id|=button]{
color:red;
}
所有 ID 包含单词 button 的按钮都会受到影响。例如http://jsfiddle.net/czp28jpb/