当使用@font-face时,浏览器会下载哪些字体?

5

@font-face有点令人困惑,因为所有浏览器都不能决定使用单个文件格式。以下是我目前用来向网站添加一种新字体的方法,你可以看到有4个单独的字体文件,我知道每一个文件是因为一些浏览器支持不同的格式,但是浏览器会下载所有的文件还是只下载需要的那一个呢?

@font-face {
    font-family: 'Oswald';
    src: url('oswald-webfont.eot');
    src: url('oswald-webfont.eot?#iefix') format('embedded-opentype'),
         url('oswald-webfont.woff') format('woff'),
         url('oswald-webfont.ttf') format('truetype'),
         url('oswald-webfont.svg#OswaldRegular') format('svg');
    font-weight: normal;
    font-style: normal;

}

你可以随时查看服务器的访问日志,了解浏览器确切下载了什么内容,或者使用像HTTPFox或Firebug的网络嗅探工具(如果你使用的是Firefox浏览器)。 - Marc B
Google Chrome 也有一个功能可以查看你下载了什么或者没有。 - David Bélanger
1
我相信它会下载浏览器的第一个兼容格式,之后的所有内容都将被忽略。 - Scott
1个回答

2
我希望浏览器能够下载它支持的所有字体,然后只应用最新的,就像其他CSS属性一样。
然而,我的期望似乎是错误的。在一个使用与上面提供的标记相同的嵌入字体的网站上,FF仅下载了.woff文件,即使它也支持.tff/.otf。
FYI,支持矩阵中列出了每种格式的链接。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接