【发布时间】:2013-09-23 10:54:53
【问题描述】:
在对以跨浏览器友好的方式使用 @font-face 的“正确”语法进行一些研究时,我发现了以下站点,这很有意义:
http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax
但是,如果您查看 Font Squirrel 提供的任何@font-face 演示代码,@font-face 定义如下:
@font-face {
font-family: 'OswaldLight';
src: url('/utils/load_demo_font.php?font=1145/Oswald-Light-webfont.eot');
src: url('/utils/load_demo_font.php?font=1145/Oswald-Light-webfont.eot?#iefix') format('embedded-opentype'),
url('/utils/load_demo_font.php?font=1145/Oswald-Light-webfont.woff') format('woff'),
url('/utils/load_demo_font.php?font=1145/Oswald-Light-webfont.ttf') format('truetype'),
url('/utils/load_demo_font.php?font=1145/Oswald-Light-webfont.svg#OswaldLight') format('svg');
font-weight: normal;
font-style: normal;
}
为什么 Font Squirrel 演示脚本都包含两个 src 声明?这个我看不懂。
【问题讨论】:
-
我相信一个是备用的,以防浏览器由于格式参数而无法理解其他浏览器。
-
需要注意的一件有趣的事情是,我前几天正在使用 CSS Lint,如果您不使用我在上面链接到的 Fontspring 推荐的防弹语法,它会引发警告。因此,尽管 Font Squirrel 使用了两个 src 声明,但我将只使用一个,因为这是其他人都在做的事情,这对我来说是最有意义的。