新闻中心

CSS伪类:first-child与:last-child区别与应用实践

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

css伪类:first-child与:last-child区别与应用实践

: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 Waifulabs

一键生成动漫二次元头像和插图

Waifulabs 317 查看详情 Waifulabs

常见误区与注意事项

使用时需注意选择器的精确性,避免因 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春节假日查询 

搜索