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

Laravel中public目录内字体文件CSS引用问题排查

问题分析与解决方法

你的字体引用方式存在问题,核心原因是普通.css文件里的Laravel Blade语法({{asset()}})不会被解析——Laravel仅会处理.blade.php后缀的模板文件,静态CSS文件会直接原样输出内容,所以{{asset()}}才会显示成代码而非生成的URL。

下面是几种可行的解决办法:

方法1:使用相对路径(最简单)

fonts.css位于public/assets/css目录,字体文件在public/assets/fonts目录,两者属于同级目录下的子文件夹,直接用相对路径引用字体即可:

@font-face {
    font-family: Lato-light;
    src: url("../fonts/Lato/Lato-Black.ttf");
}

方法2:使用根路径绝对地址

以Web根目录(public文件夹对应网站根路径)为起点,直接写绝对路径:

@font-face {
    font-family: Lato-light;
    src: url("/assets/fonts/Lato/Lato-Black.ttf");
}

方法3:将CSS文件改为Blade模板

把fonts.css重命名为fonts.css.blade.php,让Laravel解析文件里的Blade语法,之后在header.blade.php里正常引用:

<link href="{{ asset('assets/css/fonts.css.blade.php') }}" rel="stylesheet" />

另外注意:你在header.blade.php里的<link>标签重复写了rel="stylesheet",删掉其中一个即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:41:05