【发布时间】:2014-04-04 19:12:46
【问题描述】:
我认为这确实是 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>
问题在于withkerning 类的段落是完全不可见的。我想使用kern(字体紧缩)功能,因为它提高了可读性。
关于如何解决此问题的任何建议?据我所知,这在 MSIE 11.0 版、Firefox 或 Chrome 中无法重现。我宁愿避免使用 JavaScript,因为要么
- 我使用 JavaScript 应用
font-feature-settings,结果如果浏览器足够快,我会得到难看的文本闪烁而没有字距调整,或者 - 我保持 CSS 原样并尝试从 MSIE 10 中删除字体功能设置。任何尝试使用 MSIE 10 且未打开 JavaScript 的用户都将获得一个充满缺失文本的页面。
【问题讨论】:
-
我们今天遇到了这个错误,我们正在加载包含连字的字体并为其启用了
font-feature-settings: "liga" 1;,但使用 Google 的 Open Sans 字体覆盖了该元素。事实证明,来自 Google 的版本不包含连字,因此这会导致文本在 IE11 中消失。删除font-feature-settings属性可以解决问题。从 Font Squirrel 加载字体的本地副本确实有效并使文本再次出现,因为该版本确实包含连字。 -
FWIW 在 IE11 中使用
font-smooth会出现一个非常相似的问题:caniuse.com/#search=font-smooth
标签: html css windows-7 internet-explorer-10 webfonts