单独存在、或者内容
这种写法,会被自动修正甚至忽略整块。你看到的“显示了”,其实是浏览器在背后补了和,但补得不一定对——尤其在动态插入或老版本 Safari 中,容易漏行、错列。
- 必须写全层级:
→ → 或
- 哪怕只有一行数据,也绝不能省
- 空表格不能留白,至少塞一行占位:
暂无数据
- 用开发者工具检查 DOM,确认
节点真实存在,而不是被当成文本节点
嵌套子表格只能放在或 内部
把直接塞进里是无效操作。浏览器会把它踢出,可能插到外头,也可能塞进隐式,结果就是 JS 查不到、CSS 选不到、打印样式错位。
- 合法入口只有一个:
或的内容区
- 子表格要完整写在里面,不能只写
或
- 视觉上想撑满单元格?给子表格加
width: 100%
- 但注意:如果父表用了
table-layout: fixed,子表宽度可能被截断,建议显式设min-width
colspan/rowspan不是排版技巧,是列数声明
写错一个
colspan="2",整行逻辑列数就少一,后续所有querySelectorAll('td')都可能漏项。合并不是“看起来连在一起”,而是告诉浏览器:“这个单元格占了两个位置,后面那格别再占了”。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
colspan="3"表示横跨 3 列,该行其他总数要相应减 2
rowspan="2"表示纵跨 2 行,下一行同列位置必须留空(不能补)
- 错误示例:
A
B
C
——若原表设计为 4 列,这行实际只有 3 个逻辑单元格,列对齐必然崩
动态生成时,务必先算清每行总列数是否一致,别依赖“看着对齐”
子表格真需求往往是展开详情,不是硬嵌套
多数人写嵌套表格,其实只想点一下看明细。硬塞
进,换来的是样式污染、无障碍缺失、JS 操作脆弱。真正可控的做法是:用原表结构模拟展开区。立即学习“前端免费学习笔记(深入)”;
- 在目标行下方插入一个
,只含一个
- 在这个
里放独立,但重置关键样式:border-collapse: separate; margin: 4px 0; font-size: 0.9em
- 默认
display: none,JS 控制.detail-row显示/隐藏
更现代的选择:
订单详情
...
,原生支持键盘、屏幕阅读器,无需 JS
嵌套表格最危险的不是语法报错,而是它“看起来能用”——边框对上了、内容显示了、JS 也动了两下,但某天换浏览器、加新功能、适配读屏器时,问题才集中爆发。结构合法性永远比视觉效果优先级高。
相关文章
HTML表格table结构怎么写_HTML数据列表嵌套展示方法
表格结构必须严格合法:table→tr→td/th,禁止省略层级;子表格须嵌入td/th内;colspan/rowspan需精确声明列行数;动态生成时须校验每行列数一致;优先用展开行或
替代嵌套表格。
table必须包住tr,tr里至少有一个td或th
浏览器不认“差不多”,只认结构合法性。
