字体似乎在IE8中无法正常显示?

6

我在我的CSS中有以下几行代码。

@font-face { font-family: Keffeesatz; src: url(/Styles/YanoneKaffeesatz-Light.otf) format("opentype") }
@font-face { font-family: KeffeesatzBold; src: url(/Styles/YanoneKaffeesatz-Bold.otf) format("opentype") }

在IE9中,这些内容是可以显示的。在IE8中,会使用后备字体Arial。我应该如何让它在IE8中正常工作?

尝试通过fontsquirrel的生成器运行您的字体,并查看它产生了什么。为了使自定义字体在跨浏览器中正常工作,您需要将字体提供在多种格式中。 - Dagg Nabbit
看起来fontsquireel的生成器对我不起作用。上传文件后,它仍然显示我没有上传任何文件,并且提供的下载中没有字体。我已经尝试过使用FireFox 10和IE8。今晚回家后我会尝试使用另一个浏览器。 - Amanda Kitson
FontSquirrel的网站今天对我来说真的非常慢。我想它们可能遇到了一些问题。你也可以看看一些Google Web字体,看看他们是如何处理的。 - Dagg Nabbit
@GGG:是的,服务器出了点小问题一度中断了,但现在已经恢复正常了。 - BoltClock
2个回答

15

为了让旧版IE能够嵌入您的字体,您需要提供字体的EOT版本。它们不会识别其他任何格式,这就是为什么您看到回退到Arial字体。

将您的字体上传至Font Squirrel @font-face生成器,它会为您准备好一切,包括一组新的CSS @font-face规则,供您在现有规则之上使用。


终于让 Font Squirrel 对我起作用了。喜欢输出结果!太棒了!谢谢! - Amanda Kitson

1

Internet Explorer目前还不支持在CSS3中使用.ttf(TrueType)或.otf(OpenType)字体,但是IE可以识别.eot(可嵌入式开放字体)。

@font-face {
font-family: 'MyWebFont';
src: url('webfont.eot'); /* IE9 Compat Modes */
src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
     url('webfont.woff') format('woff'), /* Modern Browsers */
     url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
     url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

看看这里


2
是的,但不支持IE9兼容模式。 - koffster

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