首先检查@font-face语法是否正确,确保font-family名称唯一、路径相对CSS文件、格式声明无误;接着确认字体文件存在于服务器且路径正确,通过开发者工具查看是否404;然后提供WOFF2和WOFF等多种格式以保证浏览器兼容性;最后验证目标元素是否正确应用了自定义字体名称,避免被其他CSS规则覆盖。

HTML中插入字体不生效,通常不是写错了@font-face规则,就是字体文件路径或格式问题。直接原因可能有多个,但只要一步步排查,基本都能解决。
检查@font-face规则是否正确书写
@font-preview的语法必须规范,否则浏览器无法识别。常见错误包括拼写错误、缺少必要属性、引号缺失等。
正确写法示例:
@font-face {font-family: 'MyCustomFont';
src: url('fonts/myfont.woff2') format('woff2'),
url('fonts/myfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
注意以下几点:
立即学习“前端免费学习笔记(深入)”;
- font-family名称唯一:避免与系统字体重名,建议加引号
- src路径正确:相对路径要相对于CSS文件,不是HTML
- 指定format类型:帮助浏览器快速识别支持的格式
- 使用逗号分隔多个源:实现兼容性降级
确认字体文件路径和加载情况
即使规则写对了,如果字体文件404,依然不会生效。打开浏览器开发者工具的“Network”选项卡,查看字体请求是否返回200状态。
常见路径问题:
- 路径写成相对于HTML文件,但实际应相对于CSS文件
- 文件扩展名大小写错误(如.ttf写成.TTF,在Linux服务器上会失败)
- 字体文件未部署到服务器对应目录
建议使用相对路径,并在项目中建立专门的fonts/目录统一管理。
检查字体格式兼容性
不同浏览器支持的字体格式不同。仅提供一种格式可能导致部分浏览器无法加载。
推荐同时提供以下格式:
- WOFF2:现代浏览器首选,压缩率高
- WOFF:兼容性好,老版本浏览器支持
- TTF/OTF:可选,部分旧浏览器需要
优先使用WOFF2,再用WOFF作为后备。
验证字体是否被正确应用到元素
即使字体加载成功,也可能因CSS选择器问题未生效。
检查:
- 目标元素是否设置了
font-family: 'MyCustomFont' - 是否有其他CSS规则覆盖了字体设置
- 字体名称是否拼写一致(包括空格和引号)
可在开发者工具中选中元素,查看Computed样式中的font-family是否为自定义字体。
基本上就这些。多数字体不生效的问题,都出在路径、格式或语法细节上。耐心检查每一步,问题很快就能定位。











