【发布时间】:2013-02-13 20:20:18
【问题描述】:
对于这个 HTML:
<div id="idName" class="className">
...
</div>
我知道这是正确的选择器语法:
div.className {...}
div#idName {...}
我错了:
#idName.className {...}
它似乎可以工作,但我认为它无效。谁能确认这是否有效?
编辑:
为了澄清,这个 id 将出现在许多页面上,并且根据页面的用途,可能有不同的类。
页面 A:
#content.one-column {...}
B页:
#content.two-column {...}
【问题讨论】:
-
这个表达式用处不大,因为ID本身唯一标识元素,进一步缩小CSS选择器没有意义。相反,“.class1.class2”选择器是 100% 有效且有用的。
-
进一步缩小 CSS 实际上对以下情况很有用:
div#myId.selected如果您在 javascript 中添加/删除类。这个选择器在 IE6 中不起作用,所以要小心。 -
@Roman,非常有用。 HTML 规范说 id 必须是该页面唯一的,而不是整个站点。同时指定 id 和 class 允许您在整个站点的特定区域/页面上定位特定元素。
-
@dcneiner 它不是那样工作的。当您在另一个页面上时,您不能使用 CSS 来定位页面上的元素。页面上的 CSS 仅适用于您当前所在的页面。
标签: css css-selectors