2

我有以下标记:

<div class="a"></div>
<div class="b"></div> <!-- :first -->
<div class="b"></div>
<div class="b"></div> <!-- :last -->
<div class="c"></div>

我正在尝试使用 class来定位第一个最后一个 。如果我为此使用 jQuery 选择器,并且会成功。<div>b.b:first.b:last

然而,对于 CSS,这很棘手:第一个<div class="b">位于另一个<div>具有不同类的位置,并且 :first-child 和 :first-of-type 都匹配第一个<div>, 与 class a

是否有一个选择器针对与该类匹配的第一个项目?

4

2 回答 2

4

不,没有与 jQuery:first:last选择器等效的 CSS 选择器,因为这些选择器是过滤器,而不是 CSS 定义的真正简单的选择器

在 Selectors 3 中也没有:first-of-class或类似的选择器。

但是,您可以使用~组合器的覆盖规则将样式应用于某个类的第一个子级:

但是目前没有办法使用 CSS 将样式应用于某个类的最后一个子类:

于 2012-09-12T00:03:53.823 回答
0

您也可以始终使用 b 类对 div 进行包装,并使用 :first-child 和 :last-child 选择器定位其内容。

请参阅此处的示例:http: //cssdesk.com/fYTHF

于 2012-09-12T00:20:17.530 回答