禁用全局antialiased类,因其在macOS上关闭子像素抗锯齿导致中文字体发灰毛糙;iOS和Windows/Linux下该属性无效或被忽略;真正影响清晰度的是字体加载策略、整数缩放及字重真实性。

别加 antialiased,尤其别全局启用——它在 macOS 上会让中文字体变糊,在 iOS 和 Windows/Linux 上基本没用。
为什么 antialiased 在 macOS 上反而更糊
这个类强制设置了 -webkit-font-smoothing: antialiased,等于关掉了 macOS 的子像素抗锯齿(subpixel rendering)。中文字体笔画密集,失去子像素渲染后边缘发灰、细节毛糙,观感明显下降。而系统默认的 subpixel-antialiased(即 auto)才是清晰前提。iOS 完全忽略该属性;Windows/Linux 不支持该 CSS 属性,所以它只在 macOS 的 Safari/Chrome 里起负面作用。
什么情况下才考虑局部加字体平滑类
真有特殊需求时再手动加,比如深色背景下黑底白字需要统一灰阶抗锯齿,或某些图标字体必须强制走灰阶渲染。但注意:
- 优先用系统默认行为,不加任何类通常就是最优解
- 若必须加,只对特定元素局部加
antialiased或subpixel-antialiased,不要污染全局 -
subpixel-antialiased并非 Tailwind 内置类,需自行在 CSS 中扩展(如.subpixel-antialiased { -webkit-font-smoothing: subpixel-antialiased; }) - 真正影响清晰度的,从来不是这个类,而是字体是否准时加载、缩放是否为整数倍、字重是否真实存在
配置和使用时最容易被忽略的点
很多人删了 antialiased 还是糊,问题往往不在这里:
- 自定义字体没加
font-display: swap,导致 FOIT(Flash of Invisible Text),浏览器先用空白占位,等字体加载完才渲染,期间可能触发错误的回退字体逻辑 - @font-face 中的
font-family名与tailwind.config.js里fontFamily键名大小写/下划线不一致,导致类名生成失败,最终 fallback 到默认字体 - CSS 入口文件里
@font-face声明位置错了——必须放在@tailwind base之前,否则会被 Tailwind 的 base 层重置覆盖
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











