CSS外部字体:what';正确的语法是什么?

CSS外部字体:what';正确的语法是什么?,css,fonts,font-face,Css,Fonts,Font Face,我搜索过的所有文档都表明,在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') forma

我搜索过的所有文档都表明,在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错误。

您是否尝试过:为您生成代码?如果他们做错了,我会感到惊讶:)

您是否尝试过:为您生成代码?如果他们做错了,我会感到惊讶:)

在他们外部加载时,如下所示:

<link href='http://fonts.googleapis.com/css?family=Didact+Gothic&subset=latin,latin-ext' rel='stylesheet' type='text/css'>

然后你只需要做字体系列:“Didact哥特式”,无衬线;在你需要的地方!我从来没用过松鼠,但也许是那样的

如果在.css文件中通过url加载它们,请检查路径是否正确,在外部加载时如下所示:

<link href='http://fonts.googleapis.com/css?family=Didact+Gothic&subset=latin,latin-ext' rel='stylesheet' type='text/css'>

然后你只需要做字体系列:“Didact哥特式”,无衬线;在你需要的地方!我从来没用过松鼠,但也许是那样的


如果在.css文件中通过url加载,请检查路径是否正确。好的,看来我找到了解决方案。问题是我的CSS代码缺少一种字体格式,.OTF(OpenType)。我添加了以下行:

     url('fonts/JosefinSans-light.otf') format('opentype'),
Safari和Firefox都能识别这种字体


现在:问题是,我之前没有添加OpenType字体,因为Fontsquirrel一开始没有为我生成它;这是唯一缺少的格式。我必须使用另一个OTF文件,将其重命名为“josefinans light.OTF”,并将其放置到位,以便对其进行测试。所以现在的问题是:如何从TTF、EOT生成OTF字体文件。。。我有那些?或者这是没有必要的,而我只是落后于时代?(我应该提到的是,我仍然使用Mac OS X 10.5.8,现在没有任何其他计算机来测试这个东西)。

好的,看来我找到了解决方案。问题是我的CSS代码缺少一种字体格式,.OTF(OpenType)。我添加了以下行:

     url('fonts/JosefinSans-light.otf') format('opentype'),
Safari和Firefox都能识别这种字体


现在:问题是,我之前没有添加OpenType字体,因为Fontsquirrel一开始没有为我生成它;这是唯一缺少的格式。我必须使用另一个OTF文件,将其重命名为“josefinans light.OTF”,并将其放置到位,以便对其进行测试。所以现在的问题是:如何从TTF、EOT生成OTF字体文件。。。我有那些?或者这是没有必要的,而我只是落后于时代?(我应该提到的是,我仍然使用Mac OS X 10.5.8,目前没有任何其他计算机来测试这件事)。

确保所有文件都在正确的位置。确保所有文件都在正确的位置。阅读问题了吗?他说第一个片段是由字体Squirrel.whoops生成的——我想我最后错过了。但是,就像上面说的,我怀疑他们是否做错了。你读过这个问题了吗?他说第一个片段是由字体Squirrel.whoops生成的——我想我最后错过了。但是,就像上面说的,我怀疑他们是否做错了。