2

在 IE8 的网页上,我在 CSS 中使用 font-face 有 4 种自定义字体,每种字体中的两种用于粗体和正常权重的同一个系列。

我发现 IE8 随机将非粗体呈现为粗体,有时反之亦然。如果我坐在页面上,每次加载文本时都按刷新,看起来是随机的。

我什至尝试仅在加载所有内容后让javascript为元素设置字体-它仍然会发生。

有谁知道怎么回事?

4

1 回答 1

5

在 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;
}
于 2013-04-22T07:49:06.920 回答