font-smooth在现代浏览器中完全无效,因它是已废弃的CSS Level 3提案,从未被任何主流浏览器实现;-webkit-font-smoothing仅在macOS Safari及旧版Chrome中有限生效,Chrome 120+和Edge 124+已废弃该属性,启用反而导致文字发虚,应改用text-rendering: optimizeLegibility、font-optical-sizing: auto等标准属性替代。

font-smooth 在现代网页中完全无效,所有主流浏览器均未实现该属性,加了等于没写。
为什么 font-smooth 根本不起作用
它曾是 CSS Level 3 的废弃提案,从未被任何浏览器正式支持。Firefox 旧版文档里提过 font-smooth: always,但实际解析为 ignore;Chrome、Safari、Edge 从不识别该声明。DevTools 中会直接标为“invalid”或根本不显示。常见错误是开发者复制过时教程代码,以为能控制抗锯齿,结果调试半天发现 computed styles 里压根没这行。
-webkit-font-smoothing 是唯一还能用的私有属性,但仅限 macOS WebKit
必须带 -webkit- 前缀,且只在 macOS 版 Safari 和旧版 Chrome(v110 之前)中生效。Windows/Linux 下完全忽略;iOS Safari 和所有 WKWebView(微信、钉钉内置浏览器)硬性禁用——不是 bug,是 Apple 的系统级限制。
-
-webkit-font-smoothing: auto:尊重系统设置,macOS 默认走 subpixel,Retina 屏下较饱满 -
-webkit-font-smoothing: antialiased:强制灰度抗锯齿,文字变细,在深色背景上减少毛边,但 ≤14px 易发虚 -
-webkit-font-smoothing: subpixel-antialiased:macOS 默认值,但高缩放比(如 125%)可能出彩边,慎用
别在 body 上全局设,优先作用于具体容器,比如 .header-title 或 .nav-link。
立即学习“前端免费学习笔记(深入)”;
Chrome 120+ 和新版 Edge 已废弃 -webkit-font-smoothing,启用反而更糊
v115 起逐步移除支持,v120 后部分渲染路径会静默降级到异常子像素逻辑,表现为中文字体边缘半透明、对比度下降。典型现象:同一段 CSS,Safari 看着锐利,Chrome 新版像蒙了层灰纱。
- 立刻删掉所有
-webkit-font-smoothing声明 - 若需微调可读性,改用标准属性
text-rendering: optimizeLegibility(激活连字与精细字距,不影响抗锯齿) - 搭配
font-display: block控制字体加载时机,避免回退字体导致的临时模糊
真正影响清晰度的从来不是“平滑”,而是字体是否及时、稳定地渲染出来,以及系统是否允许你干预——而 iOS 和现代 Chrome 已经关上了那扇门。


















