2015-02-10 97 views
2

这里是我的问题,我需要设置字体,像这样:谷歌字体作为替补字体家庭不工作

font-family: 'Century Gothic', Helvetica, Dosis; 

的剂量是从谷歌的字体库中的字体。我需要的是,Century Gothic是MS Font,与Office一起安装(直到2010年),Helvetiva - 你们都知道。所以我需要第三选择。

当我把Dosis放在第一位时,它当然是有效的。第二或第三位给我Arial。

我尝试通过@import在CSS和标题中加载此字体。两者都不起作用。

Google Chrome inspector

正如你所看到的,这一切看起来不错,但呈现的字体是宋体(为什么?)。我在想这个:Dosis根本就没有加载。但为什么不呢?

PS。 @ import,当然是在那个css与font-family的行之前。

有人吗?

// 我想:

font-family: Helvetica, Dosis; 

给我宋体。

font-family: 'Century Gothic', Dosis; 

工作!我有Dosis。

现在我真的不明白它是如何工作的。

回答

3

Dosis与此无关(只是为了清除事情),它是Helvetica。 Google Chrome Helvetica使用Arial呈现,其中FYI是Windows中Google Chrome的sans-serif的默认字体。
Src:http://www.granneman.com/webdev/coding/css/fonts-and-formatting/web-browser-font-defaults/
但这也没有什么要做。

所有无法识别的字体都将使用默认的标准字体进行渲染,其大部分时间为Times New Roman。 (当然除了Helvetica的)
由于Helvetica是度量上相同含义Arial每个人物的两个HelveticaArial宽度完全相同,它呈现为Arial这有助于正确地显示和打印文本。
其他所有其他都呈现为标准字体Times New Roman。

+0

hm,那么为什么世纪哥特式被忽略,如果浏览器没有找到CG,它只是跳到下一个字体? 这不仅仅是Google Chrome的问题,Internet Explorer也是如此。 – Angie 2015-02-11 05:36:18

+0

因为在CG的情况下,浏览器不能像预期的那样渲染和检查字体族中的下一个。但在Helvetica的一个特例中,它知道Arial代替Helvetica因为上述原因。 – 2015-02-11 06:08:47

-1

请包括这在你的CSS文件

@font-face { 
    font-family: 'Dosis'; 
    font-style: normal; 
    font-weight: 400; 
    src: local('Dosis Regular'), local('Dosis-Regular'), url(http://fonts.gstatic.com/s/dosis/v4/xIAtSaglM8LZOYdGmG1JqQ.woff) format('woff'); 
} 
body{ 
    font-family: 'Dosis', sans-serif; 
} 
+0

我不能把Dosis放在font-family的第一位,并说明问题所在。 它没有奏效。 – Angie 2015-02-10 07:35:13

-1

你可以把font-family属性多种字体名字,来确定,其中一人将在屏幕上显示。但是,如果浏览器找到第一个字体(在你的案例'世纪哥特'中),它将会错过其余的部分(Helvetica和Dosis)。

所以,如果你喜欢Dosis字体,请更改

font-family: 'Century Gothic', Helvetica, Dosis; 

这一个:

font-family: Dosis, Helvetica, 'Century Gothic'; 
+0

我不喜欢Dosis。 Dosis是只有在无法显示Century Gothic或Helvetica的情况下才应该在本网站上的字体。它是Google字体,通过@ font-face加载,因此它可以在任何地方使用。所以,NOPE把Dosis作​​为第一种字体不是一种选择。 – Angie 2015-02-10 08:22:33

+0

即使是这样的问题,Dosis在第一个位置也可以工作,但这不是必需的。 – 2015-02-10 08:24:43

+0

现在我知道了,把Helvetica放在font-family中会给出“Arial”,如果找不到的话。如果我会放任何其他字体,而不是Helvetica,那么这将起作用。很高兴知道,但现在我真的很好奇为什么会这样。 – Angie 2015-02-10 08:30:27

1

至于你提到世纪的哥特式字体是MS字体是上Gfonts不可用。 最近的Gfont是Google font Muli
第二点是您必须导入该字体。 三,这是如何工作的 font-family:'世纪哥特',Dosis; 首先浏览器试图加载世纪哥特,如果它加载Dorsis失败。 那么,你为什么要Arial?这是浏览器的默认字体Web browsers default fonts

+0

字体只是一个例子。客户是“像素完美”的人,所以,如果他想要世纪哥特式,它必须是世纪哥特式(以及其余所有)。 是的,为什么?我仍然不知道为什么。 CG + Dosis给了我Dosis。 Helvetica + Dosis给了我Arial。这太疯狂了,不合逻辑。 – Angie 2015-02-10 10:36:07

+0

除谷歌字体之外的另一种选择是下载字体(免费支付)并将其包含在您的服务器中。至于不合逻辑的加载,我的猜测是你的主要字体和备用字体没有正确加载,这就是为什么它会变成宋体。检查其他浏览器是否加载默认字体或正确加载所需字体。 – Maky 2015-02-10 10:51:46

+0

我试过Chrome,IE,Opera和Firefox。每次都有同样的效果。 当第一个字体是世纪哥特式加载。我也可以在Dosis中制作标题,然后放上“CG,Helvetica,Dosis”,并且还有Arial ...(因为我没有CG或Helvetica) – Angie 2015-02-10 12:41:50