选择具有X类的各种元素

时间:2013-10-22 16:06:12

标签: css css-selectors

是否可以仅在具有特定类别时更改X元素数量(h1,p,span ...)?我正在寻找这样的东西:

(elem1, elem2, elem3, elem4).class {
  /* do things here */
}

之前我尝试过括号,卷曲和方括号,并且卷曲似乎有效但是快速浏览一下Firefox的控制台检查员似乎告诉我它忽略了括号的开头和结尾之间的内容,当然有效,但是也适用于,例如,div而不是pspanhX

我知道这样做......

elem1.class, elem2.class, elem3.class, elem4.class {
  /* do things here */
}

会起作用,但我一直在寻找一种不那么冗长的语法,因为我是个笨蛋。

3 个答案:

答案 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.myclassspan.myclassa.myclass

只需将标记名称保留在选择器之外。

修改

正如我在这个答案的评论中指出的那样 - 如果你不想包含某些标记名,那么你要么a)使用你不喜欢的冗长语法,要么b)使用另一个类名。你想要定位的元素(http://jsfiddle.net/Mm9HX/) - 这就是CSS类的用途。