CSS字体在IE9中无法加载

4

我在IE9中遇到了@font-face字体无法加载的问题。IE8及以下版本完全正常,其他浏览器也都没有问题。 这是我的CSS(字体松鼠语法):

@font-face {
 font-family: 'ssmicon';
 src: url('ssmfont3.eot');
 src: url('ssmfont3.eot?#iefix') format('embedded-opentype'),
  url('ssmfont3.woff') format('woff'),
  url('ssmfont.ttf') format('truetype'),
  url('ssmfont.svg#svgssmfont') format('svg');
 font-weight: normal;
 font-style: normal;
}

所有字形都在基本拉丁范围内(我在某处读到IE可能会有问题),并且位于同一服务器上(因此没有跨域问题)。我已将Access-Control-Allow-Origin设置为*,以防万一。仍然没有成功(至少根据http://netrenderer.com/的说法是这样的。不幸的是,我目前无法访问IE浏览器)。这是一个受影响的页面:http://xn--ssongsmat-v2a.nu/ssm/Test3 还有其他什么具体要求是IE9/10在使用网络字体时需要考虑的吗?

我以前遇到过类似的问题,我认为重新下载工具包可能是解决方法。 - Rchristiani
1
我可以确认问题存在于IE 9标准模式(在Windows 7上),而不是怪异模式。控制台日志中有神秘的错误消息。页面的CSS代码很庞大,因此建议您尝试从仅设置可下载字体的简单页面开始隔离问题。 - Jukka K. Korpela
1
compass 会生成这样一行代码,并且在 IE 中起作用:src: url('../fonts/<fontname>.eot?#iefix') format('eot'); - philipp
1
我目前的最佳猜测是可能是CSS压缩引起了问题。不过还在调查中。 - leo
1个回答

5
这其实是一个代码压缩的问题。看起来IE9和IE10对于某些位置保留换行非常挑剔,所以所有的字体声明都必须远离任何代码压缩操作。

2
我已经为这个问题工作了几个月,尝试了各种人们提供的“修复”方法和自己的实验。发现真正的答案就是不要压缩IE的字体代码,这让我感到震惊。也许这不应该让我感到震惊,因为多年来IE一直是最大的痛苦之源,所以为什么不是像这样的傻事呢。该死的微软... - FlyboyArt
@FlyboyArt 我感同身受。如果我必须确保IE的外观可以接受,我永远不会接受另一份工作。 - Mauricio Pasquier Juan

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