字体加载失败主因是路径错误、格式不支持或MIME类型配置不当;需查404/CORS错误、验证相对路径、提供woff2/woff/ttf多格式回退,并确保服务器返回正确Content-Type及CORS头。
字体文件加载失败,通常是因为 @font-face 中声明的路径不对、格式不被支持,或服务器未正确配置 MIME 类型。先确认浏览器控制台是否报 404(路径错误)或 CORS(跨域)错误,再逐项排查。
路径是相对 CSS 文件位置计算的,不是 HTML 页面位置。比如 CSS 在 /css/style.css,字体在 /fonts/inter.woff2,那么 src 应写:
/fonts/xxx.woff2,除非确定站点根目录部署结构一致。不同浏览器支持的字体格式有差异。单靠一种格式(如只用 .ttf)容易失败。推荐按优先级提供多格式回退:
@font-face {woff2(压缩率高、兼容性好,Chrome/Firefox/Safari/Edge 均支持);eot 和 woff,如需兼容可补充;svg 字体(仅旧版 iOS Safari 支持)。字体文件需由服务器以对应 MIME 类型响应,否则部分浏览器(尤其 Chrome)会拒绝加载:
.woff2 → font/woff2
.woff → font/woff
.ttf → font/ttf 或 application/font-sfnt
从其他域名或子域名加载字体,若服务端未设置 Access-Control-Allow-Origin,Chrome/Firefox 会静默失败。
curl -I font-url 查看响应头是否含 Access-Control-Allow-Origin: * 或指定域名。