新闻中心
css选择器:last-child与last-of-type区别
:last-child 选择父元素中最后一个且符合指定类型的子元素,而 :last-of-type 选择父元素中该类型最后一个元素;例如在包含 p、p、span 的 div 中,p:last-child 不匹配(最后是 span),但 p:last-of-type 会匹配第二个 p。

:last-child 和 :last-of-type 都是CSS中的伪类选择器,用来选中特定位置的元素,但它们的匹配逻辑不同,容易混淆。下面详细说明两者的区别。
:last-child 选择器
这个选择器匹配的是父元素中的最后一个子元素,并且该元素必须符合选择器指定的类型。
换句话说,只有当目标元素既是最后一个子节点,又是所选标签时,才会被选中。
例如:假设HTML结构如下:
<div>
<p>段落1</p>
<p>段落2</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/2401">
<img src="https://img.php.cn/upload/ai_manual/001/246/273/176378189624798.png" alt="察言观数AskTable">
</a>
<div class="aritcle_card_info">
<a href="/ai/2401">察言观数AskTable</a>
<p>企业级AI数据表格智能体平台</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="察言观数AskTable">
<span>78</span>
</div>
</div>
<a href="/ai/2401" class="aritcle_card_btn">
<span>查看详情</span>
<img src="
;/static/images/cardxiayige-3.png" alt="察言观数AskTable">
</a>
</div>
<span>文本</span>
</div>
使用 p:last-child 不会选中任何元素,因为最后一个子元素是 <span></span>,不是 <p></p>。
但如果结构是:
<div> <p>段落1</p> <p>段落2</p> </div>
那么 p:last-child 就会选中第二个 <p></p>,因为它是最后一个子元素,且是 p 标签。
:last-of-type 选择器
这个选择器匹配的是父元素中,不关心它是否是所有子元素中的最后一个。
只要它是某一类标签(如 p、div、span)中排在最后的一个,就会被选中。
继续上面第一个例子:<div> <p>段落1</p> <p>段落2</p> <span>文本</span> </div>
使用 p:last-of-type 会选中第二个 <p></p>,因为它是所有 p 标签中的最后一个,即使后面还有一个 span。
而 span:last-of-type 会选中那个 span 元素,因为它是唯一一个 span 类型,自然也是最后一个。
关键区别总结
- :last-child 关注的是“是否为最后一个子元素”,要求位置和类型都满足。
- :last-of-type 关注的是“是否为某类标签的最后一个”,只看标签类型,不强制要求是整体最后一个。
- 如果最后一个子元素恰好是目标类型,:last-child 和 :last-of-type 可能选中同一个元素。
- 当目标类型后面还有其他类型的元素时,:last-child 失效,:last-of-type 仍可生效。
基本上就这些。理解清楚两者的判断依据,就能准确选择需要的元素。实际使用中,:last-of-type 更灵活,尤其在子元素类型混杂时更实用。
以上就是css选择器:last-child与last-of-type区别的详细内容,更多请关注其它相关文章!
# 两种类型
# 青岛正规seo推广平台
# 品牌营销推广公司实力
# 珠海好的电商网站推广
# seo网页方案
# 茶楼营销怎么推广的好呢
# 代发广告网站推广工具
# 昌吉网站建设推广平台
# 商丘网站优化排名报价表
# 做手机seo排名软件
# 梁平网站推广多少钱
# 又是
# 第一个
# css
# 都是
# 中不
# 就会
# 第二个
# 它是
# 的是
# 选择器
# 伪类选择器
# css选择器
# 区别
# html
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
J*aScript实现动态背景色下的文本与按钮颜色自适应调整
Golang如何优雅处理error_Golang error处理最佳实践总结
照顾宝贝2小游戏点击立即在线玩
Mac怎么使用表情符号_Mac Emoji快捷键面板
蛙漫移动版在线看 蛙漫手机浏览器直达入口
58动漫网在线官方网 58动漫网正版动漫入口网址
Windows电脑怎么截图最方便_系统自带截图工具的5种神仙用法【技巧】
如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略
TikTok评论显示延迟如何处理 TikTok评论刷新优化方法
使用Pandas转换并合并DataFrame:多列映射至统一结构
钉钉视频会议声音异常如何处理 钉钉会议音频修复技巧
《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元
创客贴用户入口官网登录 创客贴网页版电脑版系统
荣耀Play7T运行卡顿解决_荣耀Play7T性能优化
Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置
Yandex搜索引擎官网入口_俄罗斯Yandex免登录一键直达
Golang指针如何与map组合使用_Golang map指针组合实践
机器学习中对数变换预测结果的反向还原
漫蛙漫画网页端入口 漫蛙2官方正版漫画站点
在J*a里如何理解依赖关系的方向_依赖方向在模块结构中的作用
在VS Code中配置和运行Dart程序的完整步骤
Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理
Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性
C++如何实现线程池_C++11手动实现一个简单的固定大小线程池
Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程
b站怎么看视频的弹幕数量_b站弹幕数量查看方法
uc浏览器网页版入口 uc浏览器网页版最新网址
c++如何使用Catch2编写单元测试_c++简洁易用的BDD风格测试框架
如何在Promise链中有效终止错误处理后的执行
Lar*el Excel导入时生成自定义递增ID的策略与实践
如何使用J*aScript精确选择并批量修改特定父元素下子链接的样式
文本文档写html代码怎么运行_文本文档html代码运行步骤【教程】
NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰
印象笔记如何设离线包出差查阅_印象笔记设离线包出差查阅【离线阅读】
c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析
大象笔记网页版入口 印象笔记网页版登录入口
steam官方入口大全 steam账号注册及操作指南
C++指针和引用有什么区别_C++内存管理核心概念深度解析
c++如何实现一个简单的软件渲染器_c++从零开始的3D图形学
企业名称高精度匹配:N-gram方法在结构相似性分析中的应用
百度网盘网页版入口 百度网盘网页版官方登录网址
Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性
Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】
vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法
Yandex搜索引擎官方地址 俄罗斯网络世界的主要入口
J*aScript实现单选按钮与关联输入框的联动禁用教程
微信聊天记录怎么加密_微信聊天记录加密方法
12306选座系统怎么选连座_12306选座多人连坐操作方法
J*aScript Promise链中如何正确终止后续.then执行并处理错误
Windows7怎么硬盘安装 Windows7提取ISO镜像到非系统盘并运行setup.exe实现硬盘直装【教程】


2025-10-17
浏览次数:次
返回列表
;/static/images/cardxiayige-3.png" alt="察言观数AskTable">
</a>
</div>
<span>文本</span>
</div>