我有以下标记:
<div class="a"></div>
<div class="b"></div> <!-- :first -->
<div class="b"></div>
<div class="b"></div> <!-- :last -->
<div class="c"></div>
我正在尝试使用类<div>
定位第一个和最后 b
。
如果我使用jQuery选择器,.b:first
和.b:last
就可以了。
然而对于CSS,这很棘手:第一个<div class="b">
位于另一个<div>
之后,具有不同的类,并且:first-child和:first-of-type匹配第一个{{1} },与班级<div>
。
是否有一个选择器定位与该类匹配的第一个项目?
答案 0 :(得分:4)
不,jQuery的:first
或:last
选择器没有等效的CSS选择器,因为这些选择器是filters, and not true simple selectors by the CSS definition。
在选择器3中,没有:first-of-class
或类似的选择器。
但是,您可以使用~
组合子的覆盖规则将样式应用于某个类的第一个子项:
但目前无法使用CSS将样式应用于某个类的最后一个子节点:
答案 1 :(得分:0)
你总是可以使用b类包围div的包装器,并使用:first-child和:last-child选择器来定位它的内容。
请参阅此处的示例:http://cssdesk.com/fYTHF