css:nth-child如何实现奇偶行样式交替_制作列表或表格交替背景
发布时间 - 2026-02-01 00:00:00 点击率:次:nth-child(odd)匹配父元素下第奇数个同类型子元素,但受所有子元素序号影响;:nth-of-type(odd)则仅按同标签元素计数,更适应含干扰节点的结构。
nth-child(n) 的基本写法和常见误区
常见错误现象: 使用场景建议: 当父容器内存在干扰子元素(如标题、分隔线、广告位 立即学习“前端免费学习笔记(深入)”; 例如: 注意点: 但要注意两个边界情况: 表格交替背景最常踩的坑是:样式被 推荐组合: 如果表格有悬停效果,记得把 真正容易被忽略的是:当表格行通过 JS 动态插入或删除时,:nth-child(odd) 和 :nth-child(even) 是最直接的奇偶行选择方式,但要注意:它匹配的是父元素下第 n 个子元素,且必须是同类型标签(比如都是 或都是 ),不是“第 n 个同类元素”。如果父容器里混有其他标签(如 、
),序号会跳过它们继续计数,但匹配仍要求标签名一致。ul li:nth-child(odd) 没生效,实际是因为 下第一个子元素是注释、空格文本节点,或前面插了 —— 此时 已不是第 1、3、5 个子元素,nth-child 就选不中。
)可用 :nth-child(odd)
tbody tr:nth-child(odd),并确保 显式存在(避免浏览器自动补全导致意外嵌套)
替代方案:nth-of-type 更稳妥
)时,:nth-of-type() 更可靠——它只按同标签名的顺序计数,忽略其他类型节点。
li:nth-child(odd) 只能选中第一个 (它是第 1 个子元素),第三个 是第 4 个子元素 → 偶数 → 不匹配。
而 li:nth-of-type(odd) 会把所有 单独编号:第 1、2、3 个 → 选中第 1 和第 3 个,真正实现“奇数项”。:nth-of-type 不能跨标签类型匹配,tr:nth-of-type(odd) 对 和
分开计数
,... tbody tr:nth-of-type(odd) 才能正确作用于数据行性能与兼容性:现代项目优先用 :nth-child
:nth-child 在所有主流浏览器(Chrome 4+、Firefox 3.5+、Safari 3.1+、Edge 12+)中支持良好,IE9+ 也支持。性能上和 :nth-of-type 几乎无差别,现代渲染引擎已优化这类伪类计算。
:nth-child(0)(无效,CSS 规范中 n 从 1 开始):nth-child(2n+1) 等价于 :nth-child(odd),但可读性差,调试时容易看错系数tr:nth-child(n+2):nth-child(odd),而不是试图改起始偏移量表格中真正实用的写法
或 干扰,或单元格 自身设置了背景盖过了行背景。 ,避免浏览器解析歧义
tbody tr 设置背景,而非 td
tbody tr:nth-child(even) 配浅灰,tbody tr:nth-child(odd) 配白底,对比清晰
tabl

:hover 放在 :nth-child 后面,否则会被覆盖:
tbody tr:hover 要写在 tbody tr:nth-child(even) 之后才生效。:nth-child 会实时重算,但如果你用 class 控制(如 .row-odd),就必须手动维护 class —— 这反而更麻烦。所以原生伪类仍是首选,只要 HTML 结构可控。
# css
# html
# js
# 浏览器
# edge
# safari
# firefox
# chrome
# class
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
javascript基于原型链的继承及call和apply函数用法分析
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
想要更高端的建设网站,这些原则一定要坚持!
Laravel如何自定义错误页面(404, 500)?(代码示例)
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
如何在局域网内绑定自建网站域名?
Python文件异常处理策略_健壮性说明【指导】
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
PythonWeb开发入门教程_Flask快速构建Web应用
如何打造高效商业网站?建站目的决定转化率
详解vue.js组件化开发实践
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
怎么用AI帮你设计一套个性化的手机App图标?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
详解Android——蓝牙技术 带你实现终端间数据传输
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
免费网站制作appp,免费制作app哪个平台好?
Android使用GridView实现日历的简单功能
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
千库网官网入口推荐 千库网设计创意平台入口
WordPress 子目录安装中正确处理脚本路径的完整指南
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
如何快速选择适合个人网站的云服务器配置?
网易LOFTER官网链接 老福特网页版登录地址
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
高端企业智能建站程序:SEO优化与响应式模板定制开发
动图在线制作网站有哪些,滑动动图图集怎么做?
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Python结构化数据采集_字段抽取解析【教程】
Laravel中的Facade(门面)到底是什么原理
在centOS 7安装mysql 5.7的详细教程
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
5种Android数据存储方式汇总
制作旅游网站html,怎样注册旅游网站?
Python数据仓库与ETL构建实战_Airflow调度流程详解
焦点电影公司作品,电影焦点结局是什么?
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
Python文件操作最佳实践_稳定性说明【指导】
简历在线制作网站免费版,如何创建个人简历?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
Laravel怎么连接多个数据库_Laravel多数据库连接配置

