【发布时间】:2018-06-02 12:30:01
【问题描述】:
我使用的是网络字体,包括 300(浅色)和 700(粗体)的粗细。这些是网站使用的唯一权重,我在 html 元素上指定默认字体粗细应为 300。
当浏览器遇到<strong> 标签时,应用的默认样式(不确定是浏览器的默认工作表还是 normalize.css)是font-weight: bolder。这对我来说很有意义:我想更大胆地迈出一步。假设我有三个权重,我希望它从继承的权重转移到下一步。
但是,常规正文文本中某处的 <strong> 元素上的 bolder 将权重从 300 增加到 400,并且浏览器使用与周围文本相同的 300 权重字体来呈现它。显然,我希望它实现下一个可用的重量是 700,并使用它。
为了lighter 和bolder 的目的,有没有办法告诉CSS/浏览器哪些字体粗细可用于给定字体系列?
【问题讨论】:
-
一个明显的解决方法是将 webfont 的轻型版本定义为 400 粗细而不是 300。但是,鉴于我从 Google Fonts 加载字体,我不能这样做,它提供了
@font-face我的规则。 -
您是否尝试过导入所有 Google 字体和粗细?
-
@GoofBall101 这对于文件大小来说太重了,并且设计师不想在这个网站上使用这种字体的“正常”重量。
-
我试图解释 caramba 如何描述它@tremby
-
简而言之,不,你不能。根据drafts.csswg.org/css-fonts/#bolderlighter 的表格,这些步骤是固定的,但也许你可以解决它。例如,在选择字体系列的同一点错误地声明所需的正文字体粗细如何。如果您只有 300 和 700,则将所需的正文设置为 400(即正常)。由于 400 和 500 不存在,浏览器将使用 300 代替。然后,bolder 会将权重提高到 700,然后您将获得所需的步进