控制字体下载字体的时间

时间:2013-06-07 00:27:04

标签: javascript css css3

根据我的理解,font-face会立即下载字体,然后无论何时使用字体,它都会应用它。我的问题"是因为大多数计算机都装有Century Gothic,所以我不想浪费时间下载字体(如果他们已经拥有它,那么它实际上不是Century Gothic它的替代品)

我的问题是,是否可以控制@ font-face下载实际字体的时间?或者它只在首次使用时下载?我目前可以想到的唯一选择是运行字体测试以查看是否安装了Century Gothic(使用JavaScript),然后如果它没有在页面中注入新样式。

3 个答案:

答案 0 :(得分:2)

您应该设置字体系列列表,浏览器将使用第一个可用的字体系列 因此,如果您设置font-family: 'Century Gothic', 'Your Other Font',则只有在Century Gothic不可用时才会使用其他字体。

This page 表示不会下载未实际使用的@ font-face规则:

  

如果你使用@ font-face但是没有应用那个font-family,则不会下载该字体。非常聪明,浏览器

答案 1 :(得分:1)

也许您可以使用local('Century Gothic')?那将使用系统的字体(如果存在)。

来自http://nicewebtype.com/notes/2009/10/30/how-to-use-css-font-face/

  

本地值告诉浏览器检查你的字体   访问者的计算机在尝试从远处加载之前。

因此,如果访问者的计算机有字体,则不会下载。

答案 2 :(得分:0)

感谢jcsanyi清除字体系统的工作原理。考虑到这一点,我能够做一个备份。我导入它:

@font-face {
    font-family: CenturyGothicFallback;
    src: url('/Resources/Avant Garde Book BT.ttf');
}

然后我用它来应用它:

font-family:Century Gothic,'Century Gothic',CenturyGothicFallback,Arial,sans-serif;

我使用的字体是:http://www.911fonts.com/font-download/download_AvantGardeBkBTBook_846.htm它看起来与Century Gothic几乎完全相同。