如何用css :nth-last-child实现倒序选择

我记得上次在咖啡馆点餐时,服务员边操作平板电脑边说:“倒数第三个座位是你的桌子”。
订单列表显示在平板电脑屏幕上,每个项目后面都带有一个数字。
突然意识到这和CSS中:nth-last-child的原理类似,即从后往前计数。

例如,在菜单列表中,如果要为最后三道菜添加边框装饰,只需编写.menu-item:nth-last-child(-n+3 )即可。
具体来说,我在2 02 3 年1 2 月调试一个美食网站时使用了它。
当时列表上有1 2 个菜品。
添加最后三个黄色背景后,用户报告视觉焦点更加清晰。
等等,还有别的事。
公式an+b可以非常灵活地使用。
例如,tr:nth-last-child(2 n+1 ) 从底部选择奇数行。
我在表格统计中使用它。
所选行的背景变为浅蓝色,一目了然。

最有问题的情况是混合标签。
记得有一次在一个项目中,列表中混杂了图片和链接,用:nth-last-child直接选择的效果是错误的。
后来我专门改用 :nth-last-of-type 来倒序计数 Li 标签,问题就解决了。
我当时在上海,和团队一起熬夜修改了三个晚上,最后的测试结果是完美的。

现在想想,这些选择器就像生活中的小帮手。
如果使用得当,它们可以省去很多麻烦。
例如,向倒数第二个按钮添加分隔线以及向最后三个项目添加提醒图标都是简单的事情。
不过,将公式的参数调整为+b,仍然需要反复试验。
上次尝试了好久,发现n是从0开始计数的,差点就开始位置错了。

css选择器如何匹配最后一个子元素

2 02 3 年,在学习 CSS 时,我发现为了匹配最后一个子元素,需要使用两个选择器。

上周朋友教我,第一个是:last-child,它只查找最后一个子元素,而且必须是特定类型。

比如我写了一段代码:.container p:last-child。
这意味着在 .container 中,如果最后一个子元素是

,则更改其颜色。
但是,如果最后一个子元素是

,则此选择器将不起作用。

第二种是:最后一种。
这个选择器更加灵活。
它只选择相同类型的最后一个元素,无论它是否是最后一个子元素。

相同的代码,.container p:last-of-type,将匹配最后一个

,即使后面有一个



朋友说,要根据情况来选择。
如果我知道最后一个子元素必须位于特定位置,我会使用 :last-child。
如果同一类型的最后一个元素很重要,无论它是否是最后一个子元素,都使用 :last-of-type。

所以大家应该根据实际需要来选择,这样才能准确的掌控风格。
这是你的。

css伪类:last-of-type与样式应用

嘿,你提到的这个:last-of-type,啊,它其实是CSS中的一个小技巧,专门用来挑出某种类型标签中最后一个小宝贝的。
例如,如果您想突出显示列表中的最后一个列表项,或者删除段落中最后一段的额外边距,那么这个东西就会派上用场。

它只识别标签,不管你给标签穿上什么衣服,比如class或者id。
想一想,如果你写p:last-of-type,不管这个p有没有其他属性,它都会找到最后一个p。

与 :last-child 相比,:last-child 范围更广。
它只要求是最后一个子节点,不管是否是同类型的标签。
所以,看,如果最后一个子节点是一个跨度,那么 :last-child 将不起作用。

啊,这个东西的使用场景有很多。
例如,您有一个列表,并且不希望最后一个列表项有下边距,或者您希望突出显示最后一个错误消息。
这些都是小案例。

但是,使用时必须小心。
例如,如果你的父亲没有你要查找的标签,那么 :last-of-type 将无法找到该东西。
另外,请确保您的选择器路径正确,不要出错。

至于兼容性,好在IE9 以后就支持了,现代浏览器不会有问题。

例如,您有一个 div,里面有一个 p 和一个 div,然后是一个 p,然后是一个 span。
如果你想让最后一个p变成红色,你可以写:
css .content p:last-of-type { 颜色: 红色; }
效果是只有最后一个 p 变成红色,因为它是内容 div 中的最后一个 p。

总而言之,:last-of-type可以帮助您准确定位并避免代码冗余。
如果您了解它和 :last-child 之间的区别,您将能够轻松导航复杂的布局。