最稳的文字大小控制方式是使用CSS的font-size属性,优先采用px或rem单位,通过精准选择器(如.nav p、header h1)实现局部生效,配合-webkit-text-size-adjust: 100%禁用浏览器自动缩放。

直接用 font-size 是最稳的,别绕弯
HTML 里调文字大小,核心就一条:用 CSS 的 font-size。别信“用 ”这种老古董写法——它早被 HTML5 废弃,浏览器可能不渲染,或行为不可控。
实操建议:
- 写在
style属性里快速验证:文字
- 更推荐写进
块或外部 CSS 文件,便于复用和维护 - 优先用
px(像素)或rem(相对根字体),避免用pt或%带来意外缩放
层级选择器不是玄学,是精准控制的关键
所谓“隐藏技巧”,其实是用 CSS 选择器的嵌套关系,让 font-size 只作用于你真正想改的地方,不误伤其他文本。
比如页面里所有 都设成 14px,但导航栏里的 要更大——光写 p { font-size: 14px; } 就不够了。
立即学习“前端免费学习笔记(深入)”;
这时候得靠层级:
-
.nav p { font-size: 18px; }→ 只改 class="nav" 内部的p -
header h1 { font-size: 2rem; }→ 只改header下的h1,不影响其他h1 -
article > p:first-child { font-size: 1.2em; }→ 只改article的**直接子级**第一个p,非常精确
em 和 rem 容易搞混,这里只说清区别
它们都算“相对单位”,但参照物完全不同,选错会导致整块文字莫名其妙变大变小。
em 看父元素的 font-size:
- 如果父元素是
font-size: 16px,子元素写font-size: 1.5em→ 实际是24px - 嵌套多层时,
em会层层相乘,容易失控
rem 只看根元素(html 标签)的 font-size:
- 默认
html是 16px,1.5rem就恒为24px,不管嵌套几层 - 响应式常用:
html { font-size: clamp(14px, 2.5vw, 18px); },再全站用rem,自动适配
移动端文字太小?别只加 font-size
单纯调大 font-size 在手机上可能没效果,因为 Safari 和部分安卓浏览器默认启用“字体缩放”逻辑——当检测到短段落、小字号时,会强制放大,破坏你的布局。
破局点就一个 CSS 规则:
- 给文本容器加上
-webkit-text-size-adjust: 100%;(Safari 必加) - 补一句
text-size-adjust: 100%;(未来标准,部分安卓支持) - 注意:这个属性不能写在
body或全局通配符上,要加在具体文字容器上,比如.article-content { -webkit-text-size-adjust: 100%; }
没有这行,你调再大的 font-size,也可能被浏览器悄悄“矫正”回小字。










