css选择了很多id类

时间:2013-02-17 17:29:42

标签: css css-selectors

我想选择很多不同的ID和类。例如:

<div id="a b c d" class="e f g h i j ">Red text</div>
#a.#b.#c.#d.e.f.g.h.i.j{color:red;}

也尝试过:

#a#b#c#d.e.f.g.h.i.j{color:red;}

JSFIDDLE:http://jsfiddle.net/vHvm9/

这不起作用。 CSS不支持那么多选择,还是我做错了什么?

2 个答案:

答案 0 :(得分:3)

就CSS而言,您的第二个选择器#a#b#c#d.e.f.g.h.i.j是有效的,您可以理论上匹配CSS中具有多个ID的元素。但是这只有在DOM实际上允许元素首先拥有那么多ID时才有效。在HTML中,空格不会像使用类名一样分隔ID名称;一个HTML元素最多只能有一个由id属性指定的ID,并且该ID不应该包含空格(即使浏览器很乐意接受它,如果你给它提供这样糟糕的标记)。 / p>

你仍然可以通过其他方式将其他ID分配给单个元素(同样,如果DOM允许的话),但除非你使用一些含有多个ID的晦涩标记语言,否则绝对没有任何实际理由。

所以,回答你的问题:你做错了是试图为一个元素分配多个ID。只需分配一个ID,其值中没有任何空格,然后按该ID选择。

答案 1 :(得分:2)

正如Jan指出的那样,单个元素在HTML或XML中不能有多个ID。

但是如果您找到支持多个ID的宿主语言(用于CSS),那么您应该使用正确的CSS选择器:

#a#b#c#d.e.f.g.h.i.j{color:red;}