新闻中心
CSS伪类:first-child与:last-child区别与应用实践
:first-child 选中父元素的第一个子元素,:last-child 选中最后一个子元素。两者依据元素在父容器中的顺序位置匹配,常用于列表分隔线、表格样式优化和表单微调。需注意它们不按类型匹配,若首个或末个子元素不符合选择器条件则失效;应使用 :first-of-type 或 :last-of-type 按类型定位。掌握其逻辑可提升 CSS 灵活性与可维护性。

:first-child 和 :last-child 是 CSS 中常用的结构性伪类,用于选中父元素下的第一个或最后一个子元素。它们在样式布局、列表美化、表格设计等场景中非常实用。虽然名称相似,但作用位置和使用细节有明显区别。
基本定义与语法
两者都属于“基于位置”的伪类,依赖于元素在其父容器中的顺序位置。- :first-child:匹配父元素中的第一个子元素,且该子元素必须是指定的标签或满足选择器条件。
- :last-child:匹配父元素中的最后一个子元素,同样需满足选择器条件。
示例:
/* 选中列表中的第一项 */li:first-child { color: red; }
/ 选中列表中的最后一项 /
li:last-child { color: blue; }
实际应用场景
这两个伪类常用于去除默认间距、添加分隔线、控制按钮组样式等。1. 列表项之间的分隔线处理
在水平导航栏或行内列表中,常需要在每项之间加边框,但首项前或末项后不需要。/ 在每一项左边加边框,去掉第一项的边框 /
.n* li { border-left: 1px solid #ccc; }
.n* li:first-child { border-left: none; }
或者反过来,只给最后一项特殊样式(如提示箭头):
.breadcrumb span:last-child { font-weight: bold; }2. 表格样式的优化
对表格的首行或末行设置不同背景色:tr:first-child td { background-color: #f0f0f0; }
tr:last-child td { border-bottom: 2px solid #333; }
3. 表单控件微调
在一组输入框中,取消第一个的上边距或最后一个的下边距:.input-group input:first-child { margin-top: 0; }
.input-group input:last-child { margin-bottom: 0; }
Waifulabs
一键生成动漫二次元头像和插图
317
查看详情
常见误区与注意事项
使用时需注意选择器的精确性,避免因 DOM 结构变化导致失效。- 如果父元素的第一个子节点不是目标标签,:first-child 不会匹配。例如,一个
<p></p>后面跟着<div>,则 <code>p:first-child只有在它是第一个子元素时才生效。 - 两者都是基于兄弟节点的位置,不关心元素类型是否相同。
- 若想按类型匹配首个/末个元素,应使用
:first-of-type或:last-of-type。
举例:
假设结构为:段落
第二个段落
此时 p:first-child 能匹配第一个 p,因为它确实是第一个子元素。
但如果结构变为: 段落
标题
那么 p:first-child 将不生效,因为 p 不是第一个子元素。
总结
:first-child 和 :last-child 是简洁高效的定位工具,适用于多数基于位置的样式控制。关键在于理解其匹配逻辑——依据的是元素在父容器中的顺序位置,而非类型或内容。合理使用可减少不必要的类名,提升代码可维护性。基本上就这些,掌握它们能让你的 CSS 更加灵活和语义化。
以上就是CSS伪类:first-child与:last-child区别与应用实践的详细内容,更多请关注其它相关文章!
# 都是
# 淘宝客推广营销策略
# 网站排名优化好不好用
# 新沂推广网站建设
# 武汉网站关键词排名
# 台湾短视频seo
# 宁海营销推广服务平台
# 推广营销软文案例范文
# 自己网站建设有什么好处
# 网站建设开发网站代码
# 网站建设发票类型
# 不均匀
# css
# 的是
# 中不
# 列表中
# 表单
# 首个
# 分隔线
# 第一个
# 选择器
# red
# 区别
# 工具
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
葱吃多了会怎样 葱吃多了会伤胃吗
jQuery Mask 插件中实现电话号码固定前导零的教程
58动漫网在线官方网 58动漫网正版动漫入口网址
Golang如何使用const iota_Go iota常量计数器讲解
如何修改开机登录密码_Windows账户安全设置超详细教程【必学】
steam官方网页快速访问 steam账号注册全流程
PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract
没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享
漫蛙2正版漫画站 漫蛙2网页版快速访问入口
C++如何生成随机数_C++ random库使用方法与范围设置
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit
一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证
qq游戏手机版下载安装_qq游戏移动端入口
优化大型XML文件解析:基于Python流式处理的内存高效方案
树莓派传感器触发:通过Twilio API发送WhatsApp消息教程
PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果
Composer如何处理Git子模块(submodule)依赖_Composer与Git Submodule的对比与选择
响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配
一加Ace 6T实拍样张首次公布!李杰:主摄实力完全看齐4K档性能旗舰
理解J*aScript Promise的微任务队列与执行顺序
最新韩小圈网页版登录入口_官网在线观看官方链接
知音漫客正版漫画平台_知音漫客官网账号登录
铁路12306官网网页端快速入口 铁路12306官方首页登录教程
“在文档元素之后找到了标记”是什么错误? 检查并修复XML中多个根元素的3个方法
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
学习通网页版官方登录 超星学习通电脑端入口指南
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
12306选座系统怎么选连座_12306选座多人连坐操作方法
J*aScript数组对象转换:按指定键分组与值收集
韩小圈电脑版在线入口_网页版免费登录地址
《噬血代码2》新预告片发布 展示游戏剧情
京东单号查询入口_京东快递订单追踪入口
创客贴用户入口官网登录 创客贴网页版电脑版系统
如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略
MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略
解决J*aScript中重复选择项的确认对话框显示问题
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
如何将HTML表格多行数据保存到Google Sheets
解决Flask中Quill编辑器内容提交失败及TypeError的指南
Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐
如何在Promise链中优雅地中断后续then执行
4399免费游戏网址入口 4399小游戏免费入口点开即玩
c++ 获取系统当前时间 c++时间戳获取方法
qq音乐在线播放入口_qq音乐电脑版登录链接
2025-2030年全球乘用车销量预测:新能源成增长主力
格力空气能E5故障代码是什么情况_格力空气能E5代码解析与应对措施
J*aScript Promise链中如何正确终止后续.then执行并处理错误
J*aScript中管理异步API调用:确保操作顺序与数据一致性
2026春节假期时间安排 2026春节假日查询


2025-11-21
浏览次数:次
返回列表