我想选择很多不同的 id 和 classes。例如:
<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不支持那么多选择还是我做错了什么?
我想选择很多不同的 id 和 classes。例如:
<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不支持那么多选择还是我做错了什么?
就 CSS 而言,您的第二个选择器#a#b#c#d.e.f.g.h.i.j
是有效的,理论上您可以在 CSS 中匹配具有多个 ID 的元素。但这只有在 DOM 实际上允许一个元素首先拥有那么多 ID 时才有效。在 HTML 中,空格不会像分隔类名那样分隔 ID 名称。一个 HTML 元素最多只能有一个由id
属性指定的 ID,并且该 ID 不应该包含空格(即使如果您提供如此糟糕的标记,浏览器也会很乐意接受它)。
您仍然可以通过其他方式将其他 ID 分配给单个元素(同样,如果 DOM 允许的话),但绝对没有实际理由这样做,除非您正在使用具有多个 ID 意味着某些东西的一些晦涩的标记语言。
所以,回答你的问题:你做错的是试图将多个 ID 分配给一个元素。只需分配一个 ID,其值中没有任何空格,然后按该 ID 进行选择。
正如 Jan 指出的那样,单个元素在 HTML 或 XML 中不能有多个 ID。
但是,如果您会找到支持多个 ID 的宿主语言(用于 CSS),那么您应该使用正确的 CSS 选择器:
#a#b#c#d.e.f.g.h.i.j{color:red;}