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

Jekyll中FontAwesome字体未被浏览器请求的问题求助

解决Jekyll中FontAwesome字体未被浏览器请求的问题

我来帮你拆解这个问题——你遇到的核心现象是:浏览器只会加载页面中实际被使用的字体资源,哪怕CSS里定义了@font-face规则,如果没有对应的元素应用了该字体,浏览器就不会发起请求。而OpenSans能被正常请求,大概率是因为主题默认就在页面的标题、正文等元素里使用了这个字体。

下面是具体的排查和解决步骤:

1. 确认页面是否实际使用了FontAwesome图标

浏览器不会为“闲置”的字体规则浪费请求,所以首先检查你的HTML代码里有没有使用FontAwesome的图标类:

  • 比如品牌图标需要用fab前缀,像 <i class="fab fa-github"></i>;
  • 如果是免费的 solid 图标,需要额外引入对应的solid.scss并使用fas前缀,比如 <i class="fas fa-star"></i>。
    如果只是引入了SCSS但没有在页面里放置任何图标元素,浏览器完全不会去加载FontAwesome的字体文件。

2. 验证FontAwesome的SCSS引入路径与字体文件路径

虽然你提到编译后的CSS包含@font-face规则,但还是要确认路径是否正确:

  • 检查hello.scss中@import "./vendor/fontawesome/..."的路径,确保vendor/fontawesome目录确实在assets/css/目录下(和hello.scss同级);
  • 打开编译后的hello.css,找到FontAwesome的@font-face部分,查看src属性里的URL是否指向正确的字体文件位置。比如应该是类似url("/assets/webfonts/fa-brands-400.woff2")这样的路径,要确保字体文件确实被部署到了这个位置。

3. 检查CSS样式是否被覆盖

用浏览器开发者工具(F12)选中你添加的FontAwesome图标元素,查看**计算样式(Computed)**里的font-family:

  • 确认它包含了FontAwesome对应的字体名称,比如品牌图标应该是"Font Awesome 5 Brands";
  • 如果font-family被其他CSS规则覆盖成了OpenSans或者其他字体,那图标就不会使用FontAwesome的字体,自然也不会触发字体请求。

4. 确认Jekyll的Include配置生效

检查_config.yml里的include配置,确保FontAwesome的字体文件目录被包含在Jekyll的构建范围内。比如如果字体文件放在vendor/fontawesome/webfonts/,那配置应该包含:

include:
  - vendor/fontawesome/webfonts

这样Jekyll才会把这些字体文件复制到最终的部署目录中,确保CSS里的URL能访问到它们。

快速测试方法

最直接的验证方式:在页面的某个位置添加一个明确的FontAwesome品牌图标,比如:

<i class="fab fa-github"></i>

然后刷新页面,查看浏览器的网络请求面板——如果图标样式正确显示,且网络请求里出现了FontAwesome的字体文件,那问题就解决了;如果还是没请求,再回头检查上述路径和样式覆盖的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 12:12:43