如果字体已经从另一个网站变成了@ font-faced,那么它们会被下载吗?

时间:2016-12-28 14:33:13

标签: css fonts webfonts

我在我的网站上使用Open Sans,我注意到Google Web Fonts上方便的彩色表盘,如果我想要浅色,斜体,半粗体,粗体和其他样式,它会变得相当为最终用户提供大量下载。

对于像Open Sans这样流行的字体,这真的是一个问题吗?每当网站在@ font-face声明中列出自己的文件时,浏览器是否会重新下载Open Sans?

我是否会产生昂贵的HTTP请求,或者我只是添加了丢失的内容?因此,如果浏览器已经具有Open Sans Regular,Italic和Bold(以及粗体斜体),那么它们只会抓住Light和Semi Bold吗?

抢先更新我在@ font-face声明中使用了local()表达式,并且它给我带了斜体样式的真正坏问题,它基本上忽略了它。

1 个答案:

答案 0 :(得分:3)

除非你使用local(),你说你有问题并且用户的字体文件不同于你认为的字体文件,所以字体文件就像任何其他资源一样(脚本,图像,样式表)。

它们将被浏览器缓存,具体取决于用户首选项 - 这意味着它们只会被下载一次并从缓存中使用,直到缓存过期或被清除。

如果您定义@font-face并为其指定字体文件,则将下载并使用浏览器从您列出的字体文件格式列表中理解的第一种格式。这就是为什么你通常首先列出最轻的格式和最后最重的格式:( woff2> woff> ttf> svg)。

请注意,如果您从服务器浏览器提供字体文件,则永远不会使用来自的字体文件,即使它们完全相同,也就是谷歌。这使您可以选择提供修改后的字体文件。但是,如果您使用来自Google的字体文件,则用户可能已经将其缓存,如果他们具有完全相同的下载链接(相同的权重,相同的变体),则会使用它们。