You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

@font-face自定义字体无法在浏览器中显示的问题求助

@font-face自定义字体无法在浏览器中显示的问题求助

看了你的代码和描述,明明路径对、字体文件没损坏、控制台也没报错,但字体就是不显示,这种情况确实挺闹心的,我帮你梳理几个可能的问题点和解决办法:

首先,先揪出代码里的明显拼写错误:

  • 你CSS里的.tab-buuton类写了font-family: BYekan !importan;,这里的!importan少了最后一个t,应该是!important!这个拼写错误会直接让这条规则失效,浏览器根本不会优先应用你的自定义字体,这大概率是关键问题之一。

然后,完善@font-face的写法,有些细节可能影响字体加载:

  • 你的@font-face里,IE兼容的eot文件没指定格式,建议加上format('embedded-opentype');另外ttf格式的标准写法是format('truetype'),虽然部分浏览器兼容ttf,但规范写法更稳妥。修正后的@font-face可以参考:
@font-face {
  font-family: BYekan;
  font-style: normal;
  font-weight: normal;
  src: url(../resources/BYekan.eot); /* IE9 Compat Modes */
  src: url(../resources/BYekan.eot?#iefix) format('embedded-opentype'), /* IE6-IE8 */
       url(../resources/BYekan.woff2) format('woff2'), /* 现代浏览器优先加载 */
       url(../resources/BYekan.woff) format('woff'), /* 通用现代浏览器 */
       url(../resources/BYekan.ttf) format('truetype'); /* Safari、移动设备 */
}
  • 注意调整src的顺序,把更高效的格式(比如woff2)放在前面,让浏览器优先加载最优的字体文件。

接下来,确认字体是否真的被加载:

  • 打开浏览器开发者工具(F12),切换到Network面板,刷新页面,查看字体文件的请求状态。如果状态码不是200,说明路径还是有问题——比如你的HTML文件如果在子目录下,../resources/可能指向的位置不对,可以尝试用绝对路径(比如/resources/BYekan.woff2,开头的斜杠代表网站根目录)测试。

然后,排除其他CSS规则的干扰:

  • 可以写一个最简单的测试元素,比如在页面里加一行:<p style="font-family: BYekan; font-size: 24px;">测试自定义字体</p>,不要加其他样式,看这个文字是否能显示你的字体。如果这个能显示,说明是其他CSS规则的优先级问题,你需要检查那些应用了BYekan字体的元素,是否有更高优先级的font-family规则覆盖了它。

最后,还有几个容易忽略的点:

  • 检查字体的字重和样式匹配:你的@font-face声明的是font-weight: normal、font-style: normal,如果你的元素设置了font-weight: bold或者font-style: italic,而你没有对应的@font-face声明,浏览器会用默认字体模拟加粗/斜体,不会用你的自定义字体。
  • 清除浏览器缓存:有时候浏览器会缓存旧资源,即使你修改了代码,也可能加载旧的字体文件(或者没加载新的),可以用Ctrl+F5强制刷新页面,或者清除浏览器缓存后再测试。

你可以先把!important的拼写错误改了,再按照上面的步骤一步步排查,应该能解决问题。

备注:内容来源于stack exchange,提问作者AbbasLotfinasab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:55:27