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

CSS自定义字体失效,显示为Times New Roman问题排查

自定义字体@font-face未生效的排查与解决

先贴出你的配置代码:

@font-face配置:

@font-face {
    font-family: 'Open Sans';
    src: url('/open-sans.eot');
    src: url('/open-sans.eot?#iefix') format('embedded-opentype'),
         url('/OpenSans-Regular.ttf') format('truetype'),
         url('/open-sans.woff') format('woff');

    font-weight: normal;
    font-style: normal;
}

使用代码:

.panel-heading {
    font-family: 'Open Sans';
    font-size: 20px ;
}

针对你遇到的显示Times New Roman的问题,按以下步骤排查:

  • 检查文件名大小写:如果你的服务器是Linux/Unix系统,文件名是大小写敏感的。看你的配置里,eot和woff文件用的是小写open-sans,但ttf是OpenSans-Regular,如果实际文件的大小写和配置里的不一致,就会加载失败。确保所有字体文件名和url里的路径完全匹配。

  • 验证字体文件是否加载成功:打开浏览器开发者工具(F12),切换到「网络」标签,刷新页面,查看字体文件的请求状态。如果返回404,说明路径还是有问题;如果返回200,再检查文件是否损坏——可以尝试用本地字体预览工具打开字体文件,确认能正常显示。

  • 排查字体命名冲突:检查项目中是否有其他CSS文件也定义了'Open Sans'的@font-face规则,或者引入了第三方样式库(比如Bootstrap)自带了Open Sans的配置,导致你的规则被覆盖。可以在开发者工具的「元素」标签里查看.panel-heading的font-family计算值,确认是否真的应用了你的字体。

  • 明确字体权重与样式:即使@font-face里设置了normal,元素可能继承了其他权重或样式,导致无法匹配你的字体规则。修改使用代码,明确指定权重和样式:

.panel-heading {
    font-family: 'Open Sans';
    font-size: 20px;
    font-weight: normal;
    font-style: normal;
}
  • 检查CSS优先级:如果.panel-heading的样式被其他更高优先级的选择器(比如id选择器、内联样式)覆盖,字体设置就不会生效。可以临时在font-family后加!important测试:
.panel-heading {
    font-family: 'Open Sans' !important;
    font-size: 20px;
}

如果这样能生效,就说明是优先级问题,需要调整选择器的优先级(比如给.panel-heading加父元素选择器)。

  • 清除浏览器缓存:浏览器可能缓存了旧的CSS或字体文件,强制刷新页面(Ctrl+F5)或者手动清除缓存后再测试。

内容的提问来源于stack exchange,提问作者egor-n

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:27:15