是否可以仅在具有特定类别时更改X元素数量(h1,p,span ...)?我正在寻找这样的东西:
(elem1, elem2, elem3, elem4).class {
/* do things here */
}
之前我尝试过括号,卷曲和方括号,并且卷曲似乎有效但是快速浏览一下Firefox的控制台检查员似乎告诉我它忽略了括号的开头和结尾之间的内容,当然有效,但是也适用于,例如,div
而不是p
,span
,hX
。
我知道这样做......
elem1.class, elem2.class, elem3.class, elem4.class {
/* do things here */
}
会起作用,但我一直在寻找一种不那么冗长的语法,因为我是个笨蛋。
答案 0 :(得分:1)
对不起,但纯css是不可能的 它没有语法。
e1.class, e2.class, e3.class
最短。
当然,有一些解决方法。
有一个名为sass的扩展名 有了sass,你可以写
e1, e2, e3 {
&:hover {
/* Some stuff */
}
}
还有any
就像
一样
:any(e1, e2, e3).class
但它只支持一些最新的浏览器,如firefox和chrome beta(我想,但我可能错了)
答案 1 :(得分:1)
一些新浏览器支持:any
( - webkit - / - moz-),例如
:any(elem1, elem2, elem3 ...).yourclass {
color: green;
}
演示(仅在firefox上测试):http://jsbin.com/IZozOdo/1/
有关MDN
否则,请考虑在
之前使用像其他人建议的CSS预处理器的机会答案 2 :(得分:0)
我必须误解这个问题,因为你为什么不使用没有标记名的类选择器:
.myclass {
...
}
该选择器匹配:
p.myclass
,span.myclass
,a.myclass
等
只需将标记名称保留在选择器之外。
修改强>
正如我在这个答案的评论中指出的那样 - 如果你不想包含某些标记名,那么你要么a)使用你不喜欢的冗长语法,要么b)使用另一个类名。你想要定位的元素(http://jsfiddle.net/Mm9HX/) - 这就是CSS类的用途。