:last-child 用于选中父元素的最后一个子元素,常用于移除列表末项分隔线、调整间距或设置特殊样式,如 li:last-child { border-bottom: none; },需注意目标元素必须是父级最后一个子节点,且兼容 IE9+,与 :last-of-type 等伪类相比更依赖结构顺序。
:last-child 是 CSS 中一个非常实用的伪类选择器,用于选中父元素下的“最后一个子元素”。它在处理列表、导航菜单、卡片布局等场景时特别有用,能帮助我们精准地为末尾项设置特定样式,比如去除多余的分割线、调整边距或改变背景色。
li 不显示下边框,就可以使用 :last-child 实现:
li:last-child { border-bottom: none; }
示例代码:
.list-item {
padding-bottom: 10px;
margin-bottom: 10px;
border-bottom: 1p
x solid #ddd;
}
.list-item:last-child {
border-bottom: none;
margin-bottom: 0;
}
:last-child现代主流浏览器都支持该伪类(包括 IE9+),但在一些老项目中若需兼容 IE8,就不能使用。
div 而不是 li),则无法匹配。
- 与
:nth-child 配合可实现更复杂的逻辑,但单独使用已能满足大多数末项样式需求。
与其他伪类对比
:last-child 只关注“是否为最后一个”,而以下伪类各有侧重:
-
:last-of-type:选择同类型标签中的最后一个,更精确。
-
:first-child:相反,选择第一个子元素。
例如,当父元素中有多种标签混合时,li:last-child 可能不生效,改用 li:last-of-type 更可靠。
基本上就这些。合理使用 :last-child 能让你的布局更干净、代码更简洁,无需额外添加 class 或依赖 JavaScript 控制样式。掌握它,是提升 CSS 精准控制能力的小关键。