CSS: :last-child 在列表项上

Posted

技术标签:

【中文标题】CSS: :last-child 在列表项上【英文标题】:CSS: :last-child on list item 【发布时间】:2012-07-04 19:54:34 【问题描述】:

如果一个 ul 有多个类的 li 项,是否可以使用 :last-child 获取特定类的最后一项?

例如,考虑以下:

<ul class="test">
    <li class="one">
    <li class="one">
    <li class="one">
    <li class="two">
    <li class="two">
</ul>

我想为最后一个具有“one”类的 li 添加一些样式(即列表中的第三个)。

我试过了,还是不行。

ul.test li.one:last-child 

【问题讨论】:

我想你没有搜索那么多? ***.com/questions/6401268/… 同样的问题,但(一些)不同的答案。重复有价值!! 【参考方案1】:

这是不可能的yet

:last-child 选择最后一个孩子,不考虑标签名称等。 可能的替代方法:last-of-type 选择标记的最后一次出现。它忽略了类名等。

您唯一的选择是为该元素添加一个特定的类名,或者使用 javascript 添加这个类名。

【讨论】:

谢谢,但是 :last-of-type 将如何在上面的 html 示例中工作? @user1355300 它不会按预期工作。在您的示例中,只有一种类型的孩子,即&lt;li&gt;。因此,:last-child:last-of-type 选择相同的元素(第 5 个&lt;li&gt;)。见jsfiddle.net/vEphZ 我知道这是一个老问题,但对于未来的观众来说,我认为 Rob W 得到了正确的答案,但忘了完整地说出来。这:ul.test &gt; li:last-of-type 应该只选择测试列表中的最后一项【参考方案2】:

您可以使用 jquery:http://jsfiddle.net/surendraVsingh/HyAhL/2/

jQuery 代码:

var n = $('.one').length;
$('.one').eq(n-1).css('color', 'red');

【讨论】:

【参考方案3】:

您可以选择第 n 个孩子,而不是为每个 li 指定类,您可以在其中按 li 编号分配样式。

如果你想为你的第三个 li 提供单独的 css,那么你需要编写

li:nth-child(3) 
    color: green;   

【讨论】:

以上是关于CSS: :last-child 在列表项上的主要内容,如果未能解决你的问题,请参考以下文章

CSS :not(:last-child):after 选择器

在随机列表项上添加类

css选择器 列表样式

CSS last-child(-1)

如何在列表项上切换活动类?

Android如何在每个listview列表项上添加图标并更改文本颜色、背景颜色