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

Vue项目SCSS中无法导入@font-face自定义字体问题求助

Vue项目引入Luckiest Guy字体不生效的解决方案

1 初始在线引入的错误修正

最初写法错误原因是:@font-face的src属性需要指向实际的字体二进制文件(.ttf/.woff2/.woff等格式),你填写的是字体样式表地址,无法被识别为字体资源。
在线引入的正确写法有两种:

  • 直接在全局样式文件中导入样式表,无需自行编写@font-face:
/* 写在fonts.scss顶部即可 */
@import url('字体服务提供的样式表地址');
  • 更稳妥的方案是在项目入口html文件的<head>标签内添加字体引用链接,完全规避构建工具的样式解析问题。

2 本地字体文件引入的错误修正

使用本地下载的ttf/otf字体文件不生效,可按以下步骤排查修正:

  • 补充format属性声明字体格式,帮助浏览器正确识别:
@font-face {
  font-family: 'Luckiest Guy';
  src: url('./LuckiestGuy-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

如果使用otf格式,format值对应为opentype。

  • 确认字体文件的相对路径正确:如果fonts.scss和字体文件存放在同一目录,./LuckiestGuy-Regular.ttf路径有效;如果目录层级不同,需要调整路径指向正确的文件位置。可打开浏览器控制台的网络面板,查看字体文件是否请求成功,出现404则说明路径配置错误。
  • 全局样式导入位置修正:不要在App.vue的带scoped属性的样式块中导入全局字体样式,建议将全局样式在项目入口js文件中直接导入,示例:
// main.js
import './assets/scss/main.scss'

3 最终验证

配置完成后打开浏览器元素审查面板,查看目标元素的font-family属性是否被正确应用,是否存在更高优先级的样式覆盖了字体配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:36:06