<th>标签默认加粗居中,语义上标识表头,提升可访问性与SEO;若被全局样式覆盖需显式重置font-weight: bold,错误使用<td>加粗会丧失语义。

th 标签默认就加粗,不需要额外写 CSS
浏览器对 <th> 的默认样式就是加粗(font-weight: bold)+ 居中。只要用对了语义——表头单元格该用 <th>,而不是 <td>,文字自然加粗。
常见错误是把所有单元格都写成 <td>,再手动加 style="font-weight:bold",这既违背语义,又增加冗余代码。
- 正确用法:
<th>姓名</th>→ 自动加粗居中 - 错误习惯:
<td style="font-weight:bold">姓名</td>→ 失去表头语义,影响可访问性(如屏幕阅读器无法识别表头) - 注意:如果页面全局重置了
th样式(比如某些 CSS 框架或 reset.css),加粗可能被覆盖,此时需显式恢复:th { font-weight: bold; }
th 和 td 混用时加粗失效的典型场景
表格结构不规范时,<th> 可能“看起来没加粗”,其实是被父级样式污染或嵌套错误导致。
- 在
<tbody>里误放<th>:规范中<th>应出现在<thead>或作为行首/列首标识,但即使放在<tbody>,浏览器仍会渲染加粗——除非 CSS 强制覆盖 -
<th>被包裹在<div>或内联样式干扰:<th><div style="font-weight:normal">标题</div></th>→ 加粗被子元素样式抵消 - 使用了类似 Bootstrap 的表格类(如
table-sm),其 CSS 可能重设th字重,需检查 computed styles 确认实际生效值
需要自定义加粗程度时怎么控制
默认 bold 有时不够强,或想统一全表字体粗细,这时要明确设置 font-weight 值。
立即学习“前端免费学习笔记(深入)”;
- 用数值更可控:
th { font-weight: 600; }(比bold细一点)或700(更粗) - 避免用
bolder或lighter:它们相对父元素计算,容易不可预期 - 注意字体支持:不是所有字体都提供
600/700字重,fallback 到最近可用值,建议搭配@font-face显式加载对应字重 - 若只对某列表头加粗:
th:nth-child(2) { font-weight: 700; }
加粗后对可访问性和 SEO 的隐性影响
单纯视觉加粗只是表象,真正关键的是 <th> 提供的语义关联能力。
- 屏幕阅读器靠
<th scope="col">或<th scope="row">理解数据关系,仅靠加粗文字无法传达结构 - 没写
scope属性时,复杂表格(多行表头、跨行跨列)可能让辅助技术无法正确映射单元格与表头 - 搜索引擎虽不直接解析加粗,但语义化表格结构(
<thead>+<th>)有助于理解内容层级,间接提升结构化数据识别率
加粗只是副产品,表头语义才是核心。别为了“看起来加粗”而绕过 <th>。



















