Html 在Chrome中忽略字体重量

Html 在Chrome中忽略字体重量,html,css,google-chrome,fonts,webfonts,Html,Css,Google Chrome,Fonts,Webfonts,我创建了一个尝试使用字体重量为300的Open Sans字体: HTML 我使用谷歌字体来定义 我可以看到Firefox(Ubuntu13.10)在字体大小为300(轻)和字体大小为400(正常)时的渲染效果有所不同,但在Chrome(版本33.0.1750.117)中没有 ),其中所有内容看起来都是以字体大小400呈现的。我是做错了什么还是Chrome中有bug?是否有已知的解决方法 更新: chrome肯定有问题,我在chrome的两个不同窗口中打开了同一页面的两个实例。一个是渲染字体ok(

我创建了一个尝试使用字体重量为300的Open Sans字体:

HTML

我使用谷歌字体来定义

我可以看到Firefox(Ubuntu13.10)在字体大小为300(轻)和字体大小为400(正常)时的渲染效果有所不同,但在Chrome(版本33.0.1750.117)中没有 ),其中所有内容看起来都是以字体大小400呈现的。我是做错了什么还是Chrome中有bug?是否有已知的解决方法

更新

chrome肯定有问题,我在chrome的两个不同窗口中打开了同一页面的两个实例。一个是渲染字体ok(300权重对应于轻型变体),另一个不是(300权重与普通变体相同)。有什么线索吗?我已确保刷新每个选项卡中的页面,使它们实际上是同一页面

更新2: 附加的屏幕截图:错误的:

更新3
这不是的复制品。在这个问题上,问题是“Arial Black”和“Arial”实际上是不同的字体。在我的例子中,OpenSans是唯一的字体,问题是Chrome有时会拾取不正确的权重。从屏幕截图中可以看出,Chrome与呈现的字体不一致,即使在两个实例之间也是如此。

我将它们重叠在一起,在osx Chrome上看起来不错

font-weight: 400 !important;
下面

font-weight: 300 !important;

尝试将字体系列更改为
无衬线的“打开无光”。我也有同样的问题,这对我很有效。

将此添加到CSS中:

* {-webkit-font-smoothing: antialiased;}

这似乎是一个Chrome/Chrome错误,是由于在您的系统上本地安装了字体造成的。其他浏览器似乎没有遇到这个问题

到目前为止,它似乎发生在Linux和Windows上(已确认)

出于某种原因,它只会加载您的本地字体,并忽略您的任何
字体权重
规则,即使它们是
!重要信息
。它甚至与自身不一致:字体重量可以在选项卡和页面重新加载之间随机变化

最简单的解决方法是删除字体,但如果您需要它来做其他事情,这可能是一个问题


您还可以尝试将字体重命名为其他字体,以强制Chrome使用您的web字体并遵守CSS字体规则。

我的解决方案是下载并在您的计算机上安装字体的所有重量类型,或者根本不安装。这是一个奇怪的解决方案,但对我来说很有效。

对我来说,解决方案是在head部分包含CSS,而不是在样式表中使用@import

<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,700;1,400&display=swap" rel="stylesheet">


如果将字体大小调整到7.5em,您会注意到字体大小略有不同(我使用的是Chrome)。如果添加-
webkit字体平滑:抗锯齿你会看到更多的不同。与其使用所有这些css调用,为什么不使用google字体导入,即
@import url(http://fonts.googleapis.com/css?family=Open+Sans:400300400italic、700700italic、800)
@adaam我注意到在7.5em和使用
-webkit字体平滑:抗锯齿
时没有区别。您的系统上是否在本地安装了Open SAN?我在从系统中删除字体之前和之后都遇到了一些问题,一切正常。@LéoLam谢谢!我在本地删除它的第二天就成功了。在Linux上,它看起来仍然一样。在Win Chrome上,我的问题是“如果用户安装了字体怎么办?”?谷歌开放式SAN的“尝试将字体重命名为其他字体”并不是那么简单。你必须使用Chromium来解决这个问题。(我不知道它最近是否被修复了。)至于重命名字体,这就像下载字体并在CSS中引用它时更改字体名称一样简单。这不像简单地在谷歌的CSS中添加一个
那么简单,但也没有那么复杂。重命名字体引用在Chrome 56.0.2924.87Ahh上不起作用,是的。就这样。它可以在其他浏览器和设备上完美呈现,
font-weight
设置为
400
,但呈现为
700
。谢谢我也碰到过这个。要使它在Chrome中正常工作,解决方案是不使用@import,而是在部分中包含css文件。另请看我的答案。这使得谷歌字体在我的任何浏览器上都不起作用:“Open Sans Light”无法识别,我相信所有浏览器都会退回到已安装的Sans serif。谢谢,它可以工作。有什么解释吗?对我来说也很有用。了解有关字体平滑的更多信息:
* {-webkit-font-smoothing: antialiased;}
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,700;1,400&display=swap" rel="stylesheet">