更新。
由于IE的性质,这似乎是一个比较复杂的问题。为了涵盖可能因特定情况而异而出现的问题,以下是参与者研究后得出的选项。
注意:确保清除可能存在的缓存,以确保页面正确加载/提供。
选项1:
将兼容性meta标记更改为<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
。
通过从IE = 8
更改为EmulateIE8
,您将导致兼容性模式尊重DOCTYPE,从而使IE正确地从CSS文件中加载字体首选项。
选项2:
检查您正在使用的文件格式是否以IE可以使用和理解的格式提供。
@font-face {
font-family: 'Bitter';
font-style: normal;
font-weight: 400;
src: url(https://themes.googleusercontent.com/static/fonts/bitter/v4/XexqN1a_o27MhVVdJFKAcA.eot);
src: local('Bitter-Regular'), url(https://themes.googleusercontent.com/static/fonts/bitter/v4/XexqN1a_o27MhVVdJFKAcA.eot) format('embedded-opentype'), url(https://themes.googleusercontent.com/static/fonts/bitter/v4/SHIcXhdd5RknatSgOzyEkA.woff) format('woff');
}
需要注意的重要事项是字体文件的格式。就IE字体支持而言,情况有些像这样:
- IE8仅支持.eot格式。
- IE9/10支持.woff和.eot格式。
选项3:
如果你看到了这个选项,那么你可能正在处理IE对Web标准的采用和实现不佳的问题。可能发生的情况是IE9以IE8模式显示页面,但也添加了对.woff格式的自己支持。相反,IE10在IE8模式下正确地使用其实际支持的文件格式来显示页面。因此我的结论是,IE10实际上在正确地显示页面,而IE9试图掩盖糟糕的标准支持。
另一个想法是,既然你在评论中提到它现在似乎可以工作了,那么可能是Google错误地提供了错误的格式,因为浏览器是IE10,但它以IE8模式显示内容。如果是这种情况,那么IE8的“正确”显示意味着IE10可接受的.woff文件并不适用于IE8。
附注:
正是这种情况是所有Web开发人员最大的麻烦之一。IE竞争对手指出了非常糟糕的支持和不当的实现,但仍处于劣势,因为由于大多数人运行该特定操作系统,IE预装在市场上很大比例的PC上。这是非常有力的一个支持标准和最佳实践的论点。
<meta http-equiv="X-UA-Compatible" content="IE=8" />
那么区别可能在于默认字体大小的设置,因为你没有做任何补偿。 - MetalFrog