我想将CSS规则应用于任何一个类名以指定前缀开头的元素。
例如,我希望有一条规则适用于一个具有以status-
开头的类名的div元素(在以下代码片段中,适用于A和C,但不适用于B):
<div id='A' class='foo-class status-important bar-class'></div>
<div id='B' class='foo-class bar-class'></div>
<div id='C' class='foo-class status-low-priority bar-class'></div>
是否可以将以下两种选择器的内容进行组合:
div[class|=status]
和 div[class~=status-]
在CSS 2.1下可以实现吗?在任何CSS规范下都可以实现吗?
注:我知道可以使用jQuery来模拟此效果。
status-
的类,并且您不想匹配它,那么选择器会变得更加复杂:div[class^="status-"]:not(.status-), div[class*=" status-"]:not(.status-)
。此外,您将失去IE7 / IE8的支持。幸运的是,如果您的标记合理,您将不需要排除这样的类。 - BoltClockclass="fooTABstatus-important"
或class="fooNEWLINEstatus-important"
,选择器是否仍将匹配此类?CSS规范是否说选择器中的空格将匹配_任何_空格,还是只匹配字面上的空格字符?如果它只匹配一个字面上的空格字符,则不能保证该选择器始终有效。 - Garret Wilson