在 IE8 的网页上,我在 CSS 中使用 font-face 有 4 种自定义字体,每种字体中的两种用于粗体和正常权重的同一个系列。
我发现 IE8 随机将非粗体呈现为粗体,有时反之亦然。如果我坐在页面上,每次加载文本时都按刷新,看起来是随机的。
我什至尝试仅在加载所有内容后让javascript为元素设置字体-它仍然会发生。
有谁知道怎么回事?
在 IE8 的网页上,我在 CSS 中使用 font-face 有 4 种自定义字体,每种字体中的两种用于粗体和正常权重的同一个系列。
我发现 IE8 随机将非粗体呈现为粗体,有时反之亦然。如果我坐在页面上,每次加载文本时都按刷新,看起来是随机的。
我什至尝试仅在加载所有内容后让javascript为元素设置字体-它仍然会发生。
有谁知道怎么回事?
在 IE8 中使用单个字体的多个粗细和样式时,我遇到了同样的问题。Typekit 有一篇文章解释了 IE8 及以下的这个 bug:Using multiple weights and styles
根据他们:
“Internet Explorer 6、7 和 8 每个系列最多加载四个权重。此外,使用两个密切相关的权重(例如,400 和 500)可能只会导致正确加载一个权重。”
使用特定的变化似乎是解决这个问题的方法。像这样(来自 Myfonts.com 网络字体工具包的片段):
@font-face {
font-family: 'AvenirNextLTPro-DemiIt'; /* Demibold Italic */
font-style: italic;
font-weight: 600;
src: url('webfonts/25A826_1_0.eot');
src: url('webfonts/25A826_1_0.eot?#iefix') format('embedded-opentype'),url('webfonts/25A826_1_0.woff') format('woff'),url('webfonts/25A826_1_0.ttf') format('truetype');
}
@font-face {
font-family: 'AvenirNextLTPro-BoldIt'; /* Bold Italic */
font-style: italic;
font-weight: 700;
src: url('webfonts/25A826_6_0.eot');
src: url('webfonts/25A826_6_0.eot?#iefix') format('embedded-opentype'),url('webfonts/25A826_6_0.woff') format('woff'),url('webfonts/25A826_6_0.ttf') format('truetype');
}
.someclass {
font-family: 'AvenirNextLTPro-DemiIt'; /* Demibold Italic */
font-style: italic;
font-weight: 600;
}
.otherclass {
font-family: 'AvenirNextLTPro-BoldIt'; /* Bold Italic */
font-style: italic;
font-weight: 700;
}