语义正确的基础表格必须包含<table>、至少一对<tr>及每行至少一个<td>或<th>;<th>仅用于表头,空表需填充占位内容,<caption>为唯一合法标题,合并单元格须符合语义逻辑且避免结构错乱。怎么用 <table> 写出语义正确的基础表格浏览器不关心你是不是"教程里学的",只认标签嵌套是否合法。一个可用的 html 表格必须有 <table>,至少一对 <tr>(行),每行里至少一个 <td> 或 <th>(单元格)。缺任意一层,渲染可能错乱,屏幕阅读器也会读不准。<th> 只用于表头(列名或行名),默认加粗居中;<td> 用于普通数据,别为了"看起来像标题"乱用 <th>空表格(比如后台数据还没加载)不要留空 <table>,至少放个 <tr><td>暂无数据</td></tr>,否则某些老浏览器会忽略整个 <table> 标签<caption> 是表格的唯一合法标题,放在 <table> 开始后第一行,别用 <h3> 堆在上面------它不被算作表格一部分,SEO 和无障碍支持都会打折colspan 和 rowspan 什么时候该用、怎么不踩坑合并单元格不是排版技巧,是语义表达:比如"第一季度"下面并列"1月""2月""3月",就该用 colspan="3" 让"第一季度"横跨三列。滥用会导致表格结构混乱,尤其是用 JS 动态生成时容易漏算列数。合并方向要和逻辑一致:colspan 合并列(横向),rowspan 合并行(纵向),写反了表格会塌陷或错位合并后,被合并掉的单元格不能存在------比如某行用了 <td colspan="2">A</td><td>B</td>,这行实际只有两个逻辑列,但 DOM 里写了三个 <td>,浏览器会自动补一列,后续样式和 JS 选中全乱用 CSS Grid 或 Flex 替代复杂合并?可以,但别混用:CSS 强制布局 + rowspan 容易触发重排冲突,尤其在 Safari 中表现不稳定表格没边框、文字挤成一团?优先查这三处HTML 表格默认无边框、无间距、文字紧贴,不是 bug,是规范行为。别急着加 CSS,先确认结构是否干净。检查是否误用了 border="0"(HTML4 遗留属性),现代写法统一用 CSS:table { border-collapse: collapse; } + td, th { border: 1px solid #ccc; }<table> 默认 display: table,但若父容器设了 font-size: 0(常见于清除 inline 元素间隙),会导致单元格内文字消失------给 td, th 单独设 font-size: 14px表格内容溢出不换行?td 默认 white-space: normal,但若里面包了 <div> 或设置了 white-space: nowrap,就得手动加 word-break: break-word 或限制 max-width移动端表格横向滚动很卡?别硬塞 overflow-x给 <table> 外层加 overflow-x: auto 是最常见也最危险的解法。iOS Safari 在表格内容多时滚动帧率骤降,而且 pinch-zoom 会失效。 RedClaw 百度推出的手机端万能AI Agent助手
相关推荐
Aision_3 小时前
从工具调用到 MCP、Skill完整学习记录辞旧 lekkk7 小时前
【Qt】信号和槽2301_809204708 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txtzjy277778 小时前
mysql如何选择合适的索引类型_mysql索引设计实战Aaswk8 小时前
Java Lambda 表达式与流处理笨蛋不要掉眼泪8 小时前
Mysql架构揭秘:update语句的执行流程万邦科技Lafite9 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析秋99 小时前
ruoyi项目更换为mysql9.7.0数据库Andya_net9 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限Cyber4K10 小时前
【Python专项】进阶语法-系统资源监控与数据采集(1)