Chrome默认根字号16px且严格遵循CSS规范,IE(尤其IE9–11)rem支持不全、缩放行为不同;推荐用px保兼容,rem需显式设html为16px并确保标准文档模式。

HTML 文字大小在 Chrome 和 IE 中的默认行为差异
Chrome 默认使用 font-size: 16px 作为根元素()的基准,且对 em、rem 的继承和计算严格遵循 CSS 规范;IE(尤其 IE9–11)对 rem 支持不完整,且在页面缩放(Ctrl +/+/-)时,IE 会直接缩放整个渲染树(含图片、边框),而 Chrome 仅缩放文本和部分布局,导致视觉比例不一致。
font-size 单位选 px 还是 rem?
用 px 最稳妥:IE 和 Chrome 都能准确渲染,无兼容性风险,适合固定字号场景(如按钮文字、表单标签)。但响应式项目中,rem 更灵活——前提是必须为 设置可预测的基准值:
- 避免用
font-size: 62.5%(依赖浏览器默认 16px,但 IE 在某些文档模式下可能按 12px 计算) - 推荐显式设为
font-size: 16px(IE9+ 和 Chrome 均支持) - 若需适配高 DPI 屏幕或用户系统字号设置,可用
font-size: 1rem配合媒体查询微调
IE 中 rem 不生效或错乱的常见原因
不是所有 IE 版本都支持 rem:IE8 及以下完全不支持;IE9 支持但存在计算 bug(例如嵌套 rem 值在某些伪类中重置);IE10–11 虽支持,但若页面触发了怪异模式(Quirks Mode), 的 font-size 会被忽略,导致所有 rem 按 16px 固定计算。
- 检查是否声明了标准文档类型:
(缺省会导致 IE 进入怪异模式) - 避免在
上用em或百分比设置font-size,IE 对其继承链解析不稳定 - 调试时可在控制台执行
getComputedStyle(document.documentElement).fontSize看实际值
用户缩放(Ctrl +/+/-)对文字显示的实际影响
Chrome 中,用户缩放会等比放大 px、em、rem,但不会改变 vw/vh 的视口基准;IE 则把缩放当作“整体图像拉伸”,连带边框粗细、line-height 的像素间距都会非线性变化,导致行高塌陷或文字被裁切。
立即学习“前端免费学习笔记(深入)”;
- 关键文案(如标题、错误提示)建议用
px+min-font-size(通过 JS 动态检测document.body.style.zoom或window.devicePixelRatio) - 禁用 IE 的缩放干预(不推荐):加
meta标签无效,IE 忽略user-scalable=no - 真正可控的方式是统一用
rem+ JS 监听resize事件动态重设字号(但注意 IE11 不触发resize于缩放)
最常被忽略的是:IE 下 font-size: 1rem 在页面初始加载后,如果用户缩放再刷新,IE 可能缓存旧的根字号计算结果,需要强制重绘(比如 toggle 一个空 class)才能同步。这不是 bug,是它渲染管线的设计限制。










