更新:我发布的 JSFiddle 链接现在有可工作的代码了。 :not(:last-child)
和 :nth-last-child(n + 2)
都可以完美地实现。
我正在尝试使用 nth-child
或 nth-last-child
选择器选择 ul
中除最后一个以外的每个 li
。但问题是,列表的长度可以从 1 到 5 个元素不等。我无法找到任何关于如何完成此操作的文档或示例。
这是 ul
的 HTML 代码:
<ul class="breadcrumbs">
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/categories/1">Articles</a>
</li>
<li>
<a href="/categories/6">Specials</a>
</li>
<li class="current">
<a href="/categories/6/articles/21">Song Lyrics</a>
</li>
</ul>
这是我的当前代码:
ul > li:nth-last-child(-1n+4) > a:hover {
color: red;
}
这段代码仍然选择列表中的最后一个元素。我也尝试了下面的代码,但它没有选择任何内容。我还尝试了许多其他组合,但要么完全不起作用,要么选择了最后一个元素。
ul > li:nth-child(1):nth-last-child(2) > a:hover {
color: red;
}
li
设置基本样式,然后使用li:last-child
仅针对最后一个进行目标定位?不应该需要使用任何' nth-child '来完成您所需的操作。 - Jesse Kernaghan