You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

@font-face加载本地自定义字体失败,请求技术协助

排查@font-face无法加载自定义字体的问题

我来帮你一步步找出问题所在,先从最可能的错误开始排查:

1. 外部CSS文件里不要包含<style>标签

你提到这段代码是在style.css文件里,但代码里写了<style></style>标签——这是错误的!外部CSS文件只需要纯CSS规则,不需要HTML的style标签。把这两个标签删掉,只保留CSS代码,比如:

@font-face {
  src: url(fonts/omori.ttf);
  font-family: 'omo';
  font-weight: normal;
  font-style: normal;
}
body {
  background-image: url(removed for this question due to irrelevance and for privacy);
  color: grey;
  font-family:'omo';
}
h1 {
  text-align: center;
  color: white;
  font-family:'omo';
}

这很可能是导致字体不生效的核心原因,因为浏览器会把style标签当作无效CSS忽略,@font-face规则根本没被解析。

2. 检查字体文件路径是否正确

确认fonts/omori.ttf的路径是否和你的文件结构匹配:

  • 如果style.css在网站根目录,fonts文件夹也在根目录,那路径是对的;
  • 如果style.csscss/子文件夹里,路径应该改成../fonts/omori.ttf(用../回到上一级目录);
  • 你可以打开浏览器的开发者工具→Network面板,刷新页面,搜索omori.ttf,看它的状态码:如果是404,说明路径错了;如果是200,说明路径没问题。

3. 补全字体格式以提升兼容性

只提供TTF格式可能在部分浏览器(比如旧版IE)里不兼容,建议添加更通用的woff/woff2格式,并明确指定格式类型,同时加上font-display避免页面加载时的字体闪烁:

@font-face {
  font-family: 'omo';
  /* 优先加载体积更小的woff2 */
  src: url('fonts/omori.woff2') format('woff2'),
       url('fonts/omori.woff') format('woff'),
       url('fonts/omori.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* 先用系统字体占位,字体加载后替换 */
}

你可以用在线工具把TTF转换成woff/woff2格式,这样兼容性更好。

4. 检查浏览器缓存

有时候浏览器会缓存旧的CSS或字体文件,导致新的规则不生效:

  • 强制刷新页面(Windows:Ctrl+Shift+R;Mac:Cmd+Shift+R);
  • 打开开发者工具,在Network面板勾选「Disable cache」选项,然后刷新页面测试。

5. 确认字体文件本身没有损坏

可能是字体文件下载或存储时损坏了,你可以:

  • 重新下载omori.ttf文件;
  • 用系统自带的字体预览工具打开它,确认能正常显示文字;
  • 换一个已知可用的字体文件测试,看@font-face是否能正常工作。

6. 检查文件权限(如果用本地服务器)

如果你是用本地服务器(比如XAMPP、WAMP)运行网站,要确保fonts文件夹和omori.ttf文件有可读权限,不然服务器会拒绝访问,返回403错误(同样在Network面板能看到)。

先从第一条开始排查,因为外部CSS里加style标签是非常常见的错误,解决这个之后再看其他问题~

内容的提问来源于stack exchange,提问作者minty

火山引擎 最新活动