在 IE7 和 IE8 中,当使用自定义 Web 字体时,文本有时会以斜体呈现,即使我明确设置了font-style: normal
. 问题是零星的——它会渲染好几次,然后我刷新,一切都用斜体显示,然后我刷新,它又恢复正常了。
我正在使用这个@font-face
声明:
@font-face {
font-family: 'DIN';
src: url('fonts/DINWeb.eot');
src: url('fonts/DINWeb.eot?#iefix') format('embedded-opentype'),
url('fonts/DINWeb.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'DIN';
src: url('fonts/DINWeb-Bold.eot');
src: url('fonts/DINWeb-Bold.eot?#iefix') format('embedded-opentype'),
url('fonts/DINWeb-Bold.woff') format('woff');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'DIN';
src: url('fonts/DINWeb-Ita.eot');
src: url('fonts/DINWeb-Ita.eot?#iefix') format('embedded-opentype'),
url('fonts/DINWeb-Ita.woff') format('woff');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'DIN';
src: url('fonts/DINWeb-BoldIta.eot');
src: url('fonts/DINWeb-BoldIta.eot?#iefix') format('embedded-opentype'),
url('fonts/DINWeb-BoldIta.woff') format('woff');
font-weight: bold;
font-style: italic;
}
对这篇文章的评论表明它可能与声明的顺序有关:但是唯一阻止问题的是完全删除斜体声明。@font-face
另一个 Stack Overflow 答案建议使用 Font Squirrel @font-face 生成器;但是,我无法执行此操作,因为我使用的网络字体文件具有 DRM。
有没有办法在不完全删除斜体声明的情况下解决这个问题?
更新:经过进一步调查,这个问题似乎也影响了 IE8,而不仅仅是在兼容模式下。