在css中,nth-last-of-type是一个结构伪类选择器,用来从父元素的末尾开始,挑选指定类型的子元素。它和nth-of-type逻辑相似,但计数方向反过来,从最后一个同类型元素往前数。这个选择器在处理动态列表、末尾强调样式时非常实用。

基本语法
语法格式如下,其中selector是标签名或基础选择器,an加b是计数表达式:
/* 选择父元素中倒数第3个p元素 */
p:nth-last-of-type(3) {
color: red;
}
/* 选择倒数第偶数个div */
div:nth-last-of-type(even) {
background: #f0f0f0;
}
参数写法说明
括号里的参数可以是具体数字、关键字或表达式,常见形式有:
- 数字:如
1表示倒数第一个该类型元素 - 关键字:
odd奇数位,even偶数位 - 表达式:
2n+1从末尾起每隔两个选一个
与nth-of-type的区别
假设有如下结构,两者选取结果不同:
<div> <span>1</span> <p>a</p> <p>b</p> <span>2</span> <p>c</p> </div>
若写p:nth-last-of-type(1),会选中最后一个p也就是c;而p:nth-of-type(1)选中第一个p也就是a。计数只针对同类型标签,忽略其他类型节点。
实际使用示例
比如想给文章列表最后两条做弱化显示:
/* 倒数第1和第2个列表项半透明 */
li:nth-last-of-type(-n+2) {
opacity: 0.5;
}
表达式中-n+2表示从末尾取前两个。这样无需在html里加额外class,样式更干净。
注意事项
使用时应注意,nth-last-of-type只看元素类型,不区分class。如果同类型元素中只想选带某类的,要写成p.item:nth-last-of-type(2)这种组合形式。另外旧版ie不支持该伪类,需要兼容时考虑用js兜底。
cssnth-last-of-type选择器伪类修改时间:2026-07-25 14:00:28