是否可以在CSS3中为选择器使用“通配符”?匹配所有以类开始的类选择器?
例如。
<div class="myclass-one"></div>
<div class="myclass-two></div>
<div class="myclass-three"></div>
...然后神奇地将所有上述的div红色一气呵成......
.myclass* { color: #f00; }
可能吗?
是否可以在CSS3中为选择器使用“通配符”?匹配所有以类开始的类选择器?
例如。
<div class="myclass-one"></div>
<div class="myclass-two></div>
<div class="myclass-three"></div>
...然后神奇地将所有上述的div红色一气呵成......
.myclass* { color: #f00; }
可能吗?
下应该做的伎俩:
div[class^='myclass'], div[class*=' myclass']{
color: #F00;
}
编辑:由大卫
这不是直接回答这个问题建议增加通配符(*
),但我会建议在大多数情况下简单地为每个元素设置多个类:
<div class="myclass one"></div>
<div class="myclass two></div>
<div class="myclass three"></div>
In这样,您可以为所有myclass
元素设置规则,然后为one
,two
和three
设置更具体的规则。在CSS调用类份额
<div class="myclass myclass-one"></div>
<div class="myclass myclass-two"></div>
<div class="myclass myclass-three"></div>
然后采用同样的风格:
.myclass { color: #f00; }
.two { font-weight: bold; }
etc.
通过使用多个类而不是寻找前缀,你还可以为特定和选择器速度保存几场战斗。属性选择器很慢,但与真正的类相比,它们确实非常具体。 +1 – Rowan
我明白了。我使用WordPress,它基于'slug'分配类似的命名类。因此,该属性解决方案比试图向每个相关页面添加其他类更容易。 – jchwebdev
到底是什么?这个答案得到3 upvotes,并且包含相同的方法一个[在同一时间添加](http://stackoverflow.com/a/13352135/253468)得到-4。 – TWiStErRob
只有用'myclass'开头的类也是*第一*包含了'class'属性中的类名。你可能想尝试['div [class * = myclass] {/ * ... stuff ... * /}'](http://www.w3.org/TR/selectors/#selectors)。 –
更好;为了防止碰撞'div [class * ='myclass'],div [class^='myclass']' –
同意了,我正在编辑我的评论(当我记起它时)的白色空间开头的版本,然后我看到你已经添加了这个细节! =) –