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

项目中已加载字体如何调用不同样式?是否需逐个加载对应文件?

关于已加载字体样式使用的问题

首先得指出你示例代码里的错误:font-style: Regular;和font-style: Bold;是写法错误——font-style属性是用来控制字体斜体/正常样式的(取值为normal/italic/oblique),而Regular、Bold这类是字重,对应CSS里的font-weight属性,比如Regular对应font-weight: 400,Bold对应font-weight: 700,Extrabold一般对应font-weight: 800。

接下来回答你的核心问题:能不能直接用已加载字体的不同字重,取决于你的字体文件类型和@font-face的声明方式:

  • 如果你的WorkSans.ttf是仅包含单个字重的普通字体文件(比如只有Regular):
    你没法直接调用Bold、Extrabold这类样式,强行设置font-weight: 700的话,浏览器只会把Regular字体“模拟加粗”——也就是通过算法把笔画变粗,结果会导致字体边缘模糊、字形失真,视觉效果很差,不建议这么做。这种情况必须为每个字重单独加载对应的字体文件。

  • 如果你的WorkSans.ttf是包含多字重的可变字体(Variable Font):
    可以直接调用不同字重,但需要在@font-face规则里声明字重的范围,比如:

    @font-face {
      font-family: WorkSans;
      font-style: normal;
      font-display: fallback;
      font-weight: 400 800; /* 声明支持的字重范围,从Regular(400)到Extrabold(800) */
      src: url(../sass/fonts/WorkSans.ttf) format("truetype");
    }
    
    .test{
      font-family: WorkSans;
      font-weight: 400; /* 对应Regular */
    }
    
    .test2{
      font-family: WorkSans;
      font-weight: 700; /* 对应Bold */
    }
    
    .test3{
      font-family: WorkSans;
      font-weight: 800; /* 对应Extrabold */
    }
    

    这样就能直接通过font-weight调用不同字重,不需要单独加载多个文件。

  • 如果每个字重对应单独的字体文件(比如WorkSans-Regular.ttf、WorkSans-Bold.ttf、WorkSans-ExtraBold.ttf):
    必须为每个字重单独编写@font-face规则,共用同一个font-family名称,示例如下:

    /* 加载Regular字重 */
    @font-face {
      font-family: WorkSans;
      font-style: normal;
      font-display: fallback;
      font-weight: 400;
      src: url(../sass/fonts/WorkSans-Regular.ttf) format("truetype");
    }
    
    /* 加载Bold字重 */
    @font-face {
      font-family: WorkSans;
      font-style: normal;
      font-display: fallback;
      font-weight: 700;
      src: url(../sass/fonts/WorkSans-Bold.ttf) format("truetype");
    }
    
    /* 加载Extrabold字重 */
    @font-face {
      font-family: WorkSans;
      font-style: normal;
      font-display: fallback;
      font-weight: 800;
      src: url(../sass/fonts/WorkSans-ExtraBold.ttf) format("truetype");
    }
    
    .test{
      font-family: WorkSans;
      font-weight: 400;
    }
    
    .test2{
      font-family: WorkSans;
      font-weight: 700;
    }
    

    这样浏览器会根据你设置的font-weight自动加载对应的字体文件,显示原生的字重样式,效果是最好的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 22:29:51