MSIE 10,Web字体和字体功能设置会导致不可见的文本

Mik*_*nen 8 html css webfonts windows-7 internet-explorer-10

我认为这确实是Microsoft Internet Explorer 10中的一个错误,但我无法在任何地方找到任何解释.可以在http://jsfiddle.net/37Bu5/找到问题的现场演示,这里是代码:

<html><head>
<style>
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400");
.withkerning
{
    font-family: "Open Sans";
    font-feature-settings: "kern" 1;
}
</style>
</head><body>
<p>Here`s some example text 1.</p>
<p class="withkerning">Here`s some example text 2.</p>
</body></html>
Run Code Online (Sandbox Code Playgroud)

问题是带有类的段落withkerning是完全不可见的.我想使用kern(字体中的字距)功能,因为它提高了可读性.

有关如何解决此问题的任何建议?据我所知,这与MSIE版本11.0,Firefox或Chrome无法重现.我更愿意避免使用JavaScript

  1. font-feature-settings使用JavaScript进行申请,因此如果浏览器速度足够快,我会得到难看的文字闪存,而不是字距
  2. 我按原样保留CSS并尝试从MSIE 10中删除font-feature-settings.任何试图使用MSIE 10查看内容的用户,如果没有打开JavaScript,将会得到一个缺少文本的页面.

Dav*_*rey 3

我的建议是删除该font-feature-setting属性,因为它不会使文本更易于阅读。

原因是只有IE支持font-feature-setting。所有其他浏览器都将删除该属性,因此非 IE 浏览器中的文本呈现不会发生任何变化。

WebKit 和 Blink 浏览器确实支持带有 webkit 前缀的属性,Firefox 支持带有 moz 前缀的属性,但它们不支持 jsFiddle 中使用的无前缀属性。

如果您必须使用此属性而不将其提供给 IE,则可以添加 moz 和 webkit 前缀并删除无前缀版本,但请记住,它将永远不会在 IE 中使用此属性,并且如果它们在其他浏览器中使用,则会被删除删除他们的前缀版本。

注意:看起来使用此属性会使文本在 Windows 7 上的 IE10 和 11 中不可见,但在 Windows 8.x 上的 IE10 和 11 中按预期工作。