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

本地正常,服务器部署后CSS font-family不生效问题求助

自定义字体部署后不生效的排查与解决

1. 修复@font-face的语法错误

你当前的@font-face写法存在问题——多个独立的src声明会被最后一条覆盖,浏览器只会尝试加载最后一个EOT格式的字体文件,而EOT格式在现代浏览器中支持有限,这大概率是字体不生效的核心原因。正确写法应该将多个字体源用逗号整合到同一个src中,同时添加font-display属性避免字体加载时的空白问题:

@font-face {
    font-family: 'iransans';
    src: url('./webFonts/fonts/eot/IRANSansWeb.eot'); /* 兼容IE9 */
    src: url('./webFonts/fonts/eot/IRANSansWeb.eot?#iefix') format('embedded-opentype'), /* 兼容IE6-IE8 */
         url('./webFonts/fonts/woff2/IRANSansWeb.woff2') format('woff2'), /* 现代浏览器优先加载 */
         url('./webFonts/fonts/ttf/IRANSansWeb.ttf') format('truetype'); /* 兼容移动端 */
    font-display: swap; /* 字体加载完成前用系统字体占位,避免空白 */
}

2. 验证服务器端字体路径的实际可访问性

即便本地路径正确,服务器的目录结构可能和本地存在差异:

  • 打开浏览器控制台的Network标签,刷新页面后搜索字体文件名,查看HTTP状态码:
    • 若显示404:说明路径有误,可尝试改用根路径写法(比如/webFonts/fonts/...),避免相对目录层级带来的问题
    • 若显示403:检查服务器上字体文件的权限设置,确保服务器进程有权读取这些文件

3. 排查字体文件本身的问题

  • 确认服务器上的字体文件和本地完全一致,没有上传损坏或不完整的文件
  • 查看浏览器控制台的Console标签,若出现Failed to decode downloaded font类警告,说明字体文件损坏或格式不被当前浏览器支持

4. 确认样式优先级与继承

虽然你添加了!important,仍可做以下检查:

  • 在元素的Styles面板中,确认font-family: iransans !important是最终生效的规则,没有被其他更具体的选择器覆盖
  • 尝试将字体规则覆盖范围扩大到html标签,确保全局生效:
    html, body, * {
        font-family: 'iransans' !important;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:50:13