最可靠方式是直接为td、th设置font-size属性;避免仅设table的font-size导致继承失效;单位优先选rem以支持无障碍,px适用于后台;禁用废弃的标签;调整font-size时需同步设置line-height等属性防错乱。

直接用 font-size 设置 td 或 th 的文字大小
最可靠、最通用的方式就是给 td 和 th 元素写 font-size CSS 属性。浏览器对这个属性支持极好,且不会受表格结构嵌套影响。
常见错误是只设 table 的 font-size,指望它继承下去——但某些老版本 IE 或特定 reset.css 会打断继承链,导致 td 文字没变。
- 推荐优先写
td, th { font-size: 14px; },而不是只写table { font-size: 14px; } - 如果表头要更大,单独加
th { font-size: 16px; font-weight: bold; } - 内联样式也能用:
<td style="font-size: 12px">小字号</td>,但仅限调试或极简场景,别批量写
font-size 单位选 px 还是 rem?
取决于项目是否需要适配系统字体缩放或无障碍访问。纯展示型后台表格用 px 没问题;面向公众的页面(比如政务、教育类)必须用 rem。
容易踩的坑:忘了检查根元素 html 的 font-size 是否被重置过。比如用了 html { font-size: 62.5%; },那 1.4rem 就等于 14px,不是 22.4px。
- 查法:打开开发者工具 → 选中
html元素 → 看 Styles 面板里font-size的最终计算值 - 安全写法:
td { font-size: clamp(12px, 0.75rem, 14px); },兼顾最小/最大限制和流体响应 - 千万别写
font-size: 14—— 缺单位,浏览器直接忽略
为什么 <font size="2"></font> 不起作用?
因为 <font></font> 标签早在 HTML5 中就被废弃,现代浏览器虽仍能解析,但行为不可靠:Chrome 可能按旧规则映射(size="2" ≈ 10px),Firefox 可能完全忽略,Safari 在 strict mode 下直接丢弃。
更麻烦的是,size 属性值不是像素,而是相对编号(1–7),实际渲染尺寸依赖浏览器默认字体表,根本没法精确控制。
- 绝对不要在新项目里用
<font></font>,连临时调试都别碰 - 如果维护老代码看到它,第一件事是替换为
style="font-size: 13px;"或对应 CSS 类 - 同理,
align、valign等属性也该换成text-align和vertical-align
表格里文字太挤,调大 font-size 后行高错乱怎么办?
font-size 变了,但 line-height 没同步改,会导致文字贴顶、上下留白不均,甚至被截断。尤其当单元格设置了固定 height 时,问题更明显。
关键点:行高不是字体大小的附属品,它是独立控制垂直空间的属性。
- 稳妥做法:
td { font-size: 14px; line-height: 1.4; }(无单位数字,表示倍数) - 避免写死
line-height: 20px,否则字体变大后行高不够用 - 如果用了
height: 40px,建议改成min-height: 40px,给文字留出撑开空间
line-height、padding、height 这几个值没联动调整,结果文字悬空或溢出——得一起看,不能只盯 font-size。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











