You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在Semantic UI中引入自定义字体(替代Google Fonts)

嘿,别担心,这个框架确实支持自定义本地字体,只是没有像Google Fonts那样专门的一键配置项,得手动结合CSS标准写法和框架的变量系统来实现,我给你梳理具体步骤:

1. 先放好字体文件

把你的自定义字体文件(建议至少准备woff2和woff格式,兼容大部分浏览器)放到项目的静态资源目录里,比如/src/site/assets/fonts/这个路径,确保构建工具能识别并打包这些文件。

2. 声明自定义字体

打开/src/site/globals/site.less(如果你的项目用的是Less预处理器,要是用的是CSS就对应site.css),添加标准的@font-face规则:

@font-face {
  font-family: 'MyCustomFont';
  src: url('../assets/fonts/MyCustomFont-Regular.woff2') format('woff2'),
       url('../assets/fonts/MyCustomFont-Regular.woff') format('woff'),
       url('../assets/fonts/MyCustomFont-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; // 优化字体加载体验
}

如果你的字体有粗体、斜体等变种,记得分别添加对应的@font-face,修改font-weightfont-style就行。

3. 全局替换默认字体

回到你熟悉的/src/site/globals/site.variables,找到字体相关的变量,把它们替换成你的自定义字体名称:

// 替换全局正文字体
@fontFamily: 'MyCustomFont', sans-serif;
// 如果需要替换标题字体,也一起修改
@fontFamilyHeader: 'MyCustomFont', sans-serif;

额外注意点

如果你的项目用了Webpack这类构建工具,要确保配置了字体文件的处理规则(比如用asset/resource或者file-loader),这样字体文件能被正确复制到构建后的输出目录,不然页面可能找不到字体文件。

其实核心就是利用CSS的标准@font-face来引入本地字体,再通过框架的变量系统把自定义字体全局应用起来,框架本身完全兼容这种方式,只是没有单独做一个配置项而已~

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

火山引擎 最新活动