我24小时都玩得很开心。自昨天提出这个问题以来:http://tinyurl.com/nkoqxfg我一直试图找出问题,最后我将其缩小到以下几个方面:
Modernizr错误地将一类字体应用于IE8中的HTML元素。
这是我的网站,其他所有内容都被删除了:http://tinyurl.com/ose6pj8
请查看源代码。注意最后两个CSS规则:
nav li a {
color: #FFF;
font-size: 4px;
}
.fontface nav li a {
font-family: 'Qwigley';
font-size: 30px;
line-height: 56px;
}
在任何支持@ font-face的现代浏览器中,您应该会看到使用Google字体“Qwigly'脚本,以及30px的正确字体大小。在IE8和任何不支持@ font-face的浏览器中,您可能会看到4px的小字体大小。 (在这种情况下,Modernizr应该将无字体类应用于HTML元素)
但事实并非如此。 Mordernizr错误地应用了字体类,因此我获得了巨大的30px Arial文本。刚检查过,IE7也出现了同样的问题。
为什么?
答案 0 :(得分:1)
在IE8和任何不支持@ font-face的浏览器中,你会看到4px的小字体大小。 (在这种情况下,Modernizr应该将无字体类应用于HTML元素)
IE 8 支持@font-face
- 所以期待Modernizer 不设置该类只是你出错的地方这里
警告是IE< 9仅支持EOT格式的字体 - 因此请注意您将该版本嵌入到字体嵌入中;
或者,只有当您通过条件注释为lt-ie9
元素设置的html
类不时才使用应用自定义字体的CSS选择器,例如< / p>
html:not(.lt-ie9) .fontface nav li a { /* … */ }
(IE无论如何都只支持v9中的:not()
选择器。)