在一个元素中合并CSS类
问题描述:
这可能是我做过的最愚蠢的问题,但为什么下面的文本不会呈现红色?在一个元素中合并CSS类
<html>
<style>
.c1 .c2 {
color: red;
}
</style>
<body>
<span class="c1 c2">This should be red</span>
</body>
</html>
编辑:我想匹配包含c1和c2类的元素,就像上面的例子一样,不能少于。
答
.c1 .c2
一个C2元素相匹配的C1元素中,就像html body
匹配html元素中的body元素。删除空格以匹配两个类别的元素:
.c1.c2 {
color: red;
}
答
它应该是.c1.c2
。你写的方式是c2
INSIDE c1
。
答
选择器.c1 .c2
确实表示类c1
中元素类c2
中的元素。
要获得期望的结果,您的选择更改为.c1.c2
,这将匹配两种风格的元素。
答
如果您的CSS的预期含义是匹配“在类别列表中同时包含c1
和c2
的元素”,则它应该是.c1.c2
。给定的选择器(.c1 .c2
)表示“类c2
的元素直接在类c1
的元素内”。
编辑:为了完整起见,要将元素与类别c1
和c2
中的至少一个匹配,您可以使用.c1, .c2
。因此,空间是指文档的结构,没有空格是“和”,逗号是“或”。
此样式似乎与仅具有class =“c2”的元素相匹配。 – rodbv 2010-05-12 20:03:14
@rodbv - 只在IE6中。 – 2010-05-12 20:10:05