Google 字体在不导入时应用 font-weigh:800
Google fonts applying font-weigh:800 when not importing it
我正在按照以下方式导入尺寸 300 和 400:
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Slab:300,400" media="all">
但我仍然可以申请 font-weight: 800
,它看起来与 font-weight:400
不同,为什么?它是从哪里得到的?
复制:
https://jsfiddle.net/7164fk3j/
即使我只导入 font-weight 300:
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Slab:300" media="all">
复制:
https://jsfiddle.net/7164fk3j/1/
效果如何?只是加粗300吗?
后备权重
font-weight
根据以下算法使用回退权重:
If the exact weight given is unavailable, then the following heuristic
is used to determine the weight actually rendered:
If a weight greater than 500 is given, the closest available heavier weight is used (or, if there is none, the closest available
lighter weight).
If a weight less than 400 is given, the closest available lighter weight is used (or, if there is none, the closest available heavier
weight).
If a weight of exactly 400 is given, then 500 is used. If 500 is not available, then the heuristic for font weights less than 400 is
used.
If a weight of exactly 500 is given, then 400 is used. If 400 is not available, then the heuristic for font weights less than 400 is
used.
合成
这解释了浏览器如何映射权重,但它从哪里获得实际的粗体版本?
有一个名为 font-synthesis
的 CSS 属性 可以控制 how/when 浏览器综合缺少的字体方面(粗细、样式)。
The font-synthesis CSS property controls which missing typefaces, bold
or italic, may be synthesized by the browser.
这个 属性 没有在很多浏览器中实现,但它的存在表明浏览器在它丢失时正在合成粗体版本(并且总有一天这个 属性 会让我们控制它)。
合成源
综合以上两个概念,貌似Chrome会以权重300为基础进行合成,但如果导入400版本,则会以400为基础,生成a结果稍厚。
仅导入 300 个权重:
导入了 300 和 400 个权重:
导入了 300、400 和 800 个权重:
我正在按照以下方式导入尺寸 300 和 400:
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Slab:300,400" media="all">
但我仍然可以申请 font-weight: 800
,它看起来与 font-weight:400
不同,为什么?它是从哪里得到的?
复制: https://jsfiddle.net/7164fk3j/
即使我只导入 font-weight 300:
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Slab:300" media="all">
复制: https://jsfiddle.net/7164fk3j/1/
效果如何?只是加粗300吗?
后备权重
font-weight
根据以下算法使用回退权重:
If the exact weight given is unavailable, then the following heuristic is used to determine the weight actually rendered:
If a weight greater than 500 is given, the closest available heavier weight is used (or, if there is none, the closest available lighter weight).
If a weight less than 400 is given, the closest available lighter weight is used (or, if there is none, the closest available heavier
weight).If a weight of exactly 400 is given, then 500 is used. If 500 is not available, then the heuristic for font weights less than 400 is used.
If a weight of exactly 500 is given, then 400 is used. If 400 is not available, then the heuristic for font weights less than 400 is used.
合成
这解释了浏览器如何映射权重,但它从哪里获得实际的粗体版本?
有一个名为 font-synthesis
的 CSS 属性 可以控制 how/when 浏览器综合缺少的字体方面(粗细、样式)。
The font-synthesis CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser.
这个 属性 没有在很多浏览器中实现,但它的存在表明浏览器在它丢失时正在合成粗体版本(并且总有一天这个 属性 会让我们控制它)。
合成源
综合以上两个概念,貌似Chrome会以权重300为基础进行合成,但如果导入400版本,则会以400为基础,生成a结果稍厚。
仅导入 300 个权重:
导入了 300 和 400 个权重:
导入了 300、400 和 800 个权重: