You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅修改网页普通文本字号(EM单位)而不影响标题?

解决em单位下标题字号异常的问题

em是相对父元素字体大小计算的单位,你给body设置font-size: 1.2em后,浏览器默认的标题字号(比如h1默认2em)会基于body的1.2em再放大,最终变成1.2em * 2 = 2.4em,这就是标题字号跟着变大的原因。而用inherit会让标题直接继承body的1.2em,自然和正文字号一致,失去层级区分。

给你两个实用的解决思路:

思路1:用em保持标题与正文的比例关系

如果你希望标题和正文保持固定比例,同时跟着body的字号缩放,直接给标题设置相对于body的em倍数即可:

body {
  font-size: 1.2em;
}
h1 {
  font-size: 2em; /* 字号是正文的2倍,最终为2.4em */
}
h2 {
  font-size: 1.5em; /* 正文的1.5倍,最终1.8em */
}
h3 {
  font-size: 1.2em; /* 正文的1.2倍,最终1.44em */
}

这样body字号调整时,标题会按比例同步缩放,同时保持层级差异。

思路2:用rem让标题大小与body解耦

如果想让标题大小不受body的1.2em影响,保持基于浏览器基准字号(通常16px)的固定大小,改用rem单位(相对于根元素html的字号):

body {
  font-size: 1.2em;
}
h1 {
  font-size: 2rem; /* 对应32px,不受body设置影响 */
}
h2 {
  font-size: 1.5rem; /* 对应24px */
}
h3 {
  font-size: 1.25rem; /* 对应20px */
}

这种方式下,标题大小固定,仅正文跟着body的设置缩放,适合标题需要稳定字号的场景。

内容的提问来源于stack exchange,提问作者rick baker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:05:13