根据我的理解,font-face会立即下载字体,然后无论何时使用字体,它都会应用它。我的问题"是因为大多数计算机都装有Century Gothic,所以我不想浪费时间下载字体(如果他们已经拥有它,那么它实际上不是Century Gothic它的替代品)
我的问题是,是否可以控制@ font-face下载实际字体的时间?或者它只在首次使用时下载?我目前可以想到的唯一选择是运行字体测试以查看是否安装了Century Gothic(使用JavaScript),然后如果它没有在页面中注入新样式。
答案 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几乎完全相同。