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

为何项目中设置Rubik字体却渲染为Rubik Light?如何解决?

解决Rubik字体权重不生效的问题

核心问题

你当前的Google Fonts链接仅加载了Rubik字体的默认字重(通常为400),当设置其他字重(如500)时,浏览器找不到对应字重的字体文件,会自动降级到已加载的最轻字重(如Rubik Light)并模拟加粗,导致显示效果怪异。

解决步骤

1. 修改Google Fonts链接,指定所需字重

在字体链接中通过wght@参数明确声明需要的字重,比如需要400(常规)、500(中等)、700(粗体),链接应改为:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap" rel="stylesheet">

这样浏览器会加载你指定的所有字重,设置font-weight:500时就能正确匹配到Rubik Medium。

2. 确保CSS字体权重与加载的字重对应

设置font-weight时,必须使用你在链接中声明过的数值,比如:

body {
  font-family: 'Rubik', sans-serif;
  font-weight: 500; /* 对应链接中声明的wght@500 */
}

如果设置未声明的字重(比如600),浏览器仍会模拟加粗,导致效果异常。

3. 本地字体的正确配置(若需本地使用)

如果下载字体本地使用,需为每个字重单独声明@font-face:

/* 声明常规字重(400) */
@font-face {
  font-family: 'Rubik';
  src: url('fonts/Rubik-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

/* 声明中等字重(500) */
@font-face {
  font-family: 'Rubik';
  src: url('fonts/Rubik-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}

/* 其他字重按需添加 */
body {
  font-family: 'Rubik', sans-serif;
  font-weight: 500;
}

注意:确保字体文件路径正确,且文件名与下载的字体文件一致(比如Rubik-Medium对应500字重)。

4. 验证与排查

  • 在Chrome开发者工具的「元素」→「字体」面板中,查看当前元素使用的字体,确认字重匹配已加载的字体文件。
  • 清除浏览器缓存,或在开发者工具中勾选「禁用缓存」后重新加载页面,避免旧资源干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:25:41