针对新的不同样式定位容器中的多个选择器

时间:2012-06-13 06:45:58

标签: css css-selectors

我们认为我们有p中包含的几个元素(h4h5h6labeldiv.container) }。所有元素都已在容器外设置样式

p, h4, h5, h6, label{color: #fff;}

但我们希望在包含在特殊容器中时为它们设置新样式,所以我通常会写:

div.container p, div.container h4, 
div.container h5, div.container h6, 
div.container label{color: #ddd;}

一切都很好,只是这太长了编码。是否有一种方法(缩短编码)来定位所有这些元素?像:

div.container [p, h4, h5, h6, label] {color: #ddd;}

注意:我不想使用预处理器。

3 个答案:

答案 0 :(得分:0)

不是纯CSS,而是SCSS(Sass):

div.container {
  p, h4, h5, h6, label {color: #ddd;}
}

演示:http://jsfiddle.net/Guffa/rq7hx/

答案 1 :(得分:0)

没有预处理器,没有绝对的方法可以做到这一点。

答案 2 :(得分:-1)

如果没有关于您的标记的更多信息,这只能说:

你可以退出标签选择器(这是不必要的。):

.container p,
.container h4, 
.container h5,
.container h6, 
.container label {
    color: #ddd;
}

另一方面,您可以使用CSS的级联原则,并添加所有ph4h5h6label相同的类(比如.example)然后你可以像这样堆叠你的CSS:

.example { color: #fff; }
.container .example { color: #ddd; }