应使用 CSS 的 font-size 属性替代已废弃的 标签;推荐 rem、clamp() 等响应式单位,避免 px 固定尺寸及 zoom/transform 伪缩放,确保可访问性与继承可控。
直接用 font-size 而不是 标签
HTML5 已彻底废弃 标签,用它不仅无效(现代浏览器会忽略),还会让代码无法通过验证。所有文字大小控制必须走 CSS:font-size 是唯一正解。
常见错误包括:在
里嵌 ,或以为 size 属性还能起作用。实际中,font-size: 16px、font-size: 1.2em、font-size: clamp(1rem, 2.5vw, 1.5rem) 才是有效写法。
- 绝对单位(
px)适合固定尺寸场景,但不利于缩放和无障碍访问 - 相对单位(
em、rem)更推荐,尤其rem基于根元素,层级清晰 -
clamp()可同时兼顾最小、适配、最大三态,响应式排版首选
font-size 在继承链中被意外覆盖
文字大小默认继承父级,但容易被多层 CSS 规则干扰。比如给 设了 font-size: 14px,又在某个组件里写了 .card { font-size: 0.9em },结果内部所有子元素都按 14px × 0.9 = 12.6px 渲染——连
也变小了,而你本意只是调卡片正文。
解决方法不是“一层层加 !important”,而是明确控制作用域:
立即学习“前端免费学习笔记(深入)”;
- 用
rem替代em,避免嵌套放大/缩小 - 对标题等语义化元素,单独重置:
h2 { font-size: 1.5rem; },不依赖父级 - 检查开发者工具的“Computed”面板,看
font-size最终值从哪条规则来
移动端用 px 导致文字过小或缩放失效
很多老项目在 @media 里写 font-size: 12px 应对小屏,结果 iOS Safari 默认禁用用户缩放(user-scalable=no 或 viewport 缩放限制),加上固定 px,视障用户双指放大直接失灵。