所有我搜索的文件说,正确的语法来加载CSS外部字体文件如下:CSS外部字体:什么是正确的语法?
@font-face {
font-family: 'JosefinSansLight';
src: url('josefinsans-light-webfont.eot');
src: url('josefinsans-light-webfont.eot?#iefix') format('embedded-opentype'),
url('josefinsans-light-webfont.woff') format('woff'),
url('josefinsans-light-webfont.ttf') format('truetype'),
url('josefinsans-light-webfont.svg#JosefinSansLight') format('svg');
font-weight: normal;
font-style: normal;
}
(提供一个在所有上述格式的字体,当然,这是我做的)。
但是,上述语法在Safari 5.0.2或Firefox 9中不适用于我:字体根本无法加载。另一方面,当我尝试这么做时:
@font-face {
font-family: 'Josefin Sans';
src: url('JosefinSans-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
字体确实会被加载和显示。 (我没有可用的IE来测试)。
怎么了?我应该提到,我最初只有TTF文件(我在第二个示例中加载的文件),并且使用Fontsquirrel生成了其他版本(不加载的版本)。
编辑:检查我的Apache日志,我看到浏览器肯定拉字体(因此,他们在正确的位置)。 Firefox只是在第二种情况下加载TTF字体(正如人们所期望的那样),而在第一种情况下,它只加载EOT字体(代码中的第一个字体),而不是其他字体。 OTOH,Safari加载TTF,但在第一种情况下似乎没有加载任何东西。我没有看到与日志中的字体相关的任何404错误。
确保您将所有文件放在正确的位置。 – BoltClock 2012-01-03 02:40:48