是否可以使 font-weight: bold 等于 500 而不是 700?

Is it possible to make font-weight: bold equal to 500 instead of 700?

我刚刚玩了 Google 字体,发现了 Fira Sans 字体。这很好,但我不喜欢 Bold (700) 样式,它对我来说太大胆了。但是,如果我 select Medium (500) 样式,浏览器不会将其用于设置为 font-weight: bold 的任何内容(例如 <strong>)。相反,它使用某种看起来模糊的人造粗体。

我可以浏览我的样式表并将每个出现的 bold 设置为 500。我还可以使用 Sass 设置一个变量,如 $bold-weight: 500;,如果我决定稍后更改字体,这会有所帮助。

虽然这有点麻烦,而且 bold 也是许多浏览器样式(例如 <strong><th>)的默认设置,所以我必须确保抓住每一个也可能发生这种情况。并且可能有外部scripts/styles我无法控制。

有没有办法让所有出现的 bold 使用权重 500?

是的,

当您选择快速使用 google 字体时,系统会提供一个 link 以包含在 header 中,在您的网络浏览器中打开 link你会得到一个 css 文件,里面有很多

/* cyrillic-ext */

@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local('Roboto Italic'), local('Roboto-Italic'),   url(https://fonts.gstatic.com/s/roboto/v15/WxrXJa0C3KdtC7lMafG4dRTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}

如您所见,font-style: italicfont-weight: 400@font-face 标签内 link 带有某种特定字体(此处为 Roboto Italic),这意味着无论何时使用 font-weight: italicfont-weight: 400(或 normal),它指的是 src 属性中描述的字体。

现在,如果你想让css中的所有font-weight: bold都使用这个字体,只需将上面font-style中的400改为bold 然后你就完成了。

或者您可以复制完整的@font-face{..} 并在其中使用另一个 font-style。

此外,您也可以在此处使用不同的字体。确保在 @font-face.

中只保留一个 font-style 或 font-weight 标签

此处的示例使用 google 字体,您可以对 self-hosted 字体使用相同的技术。