IE 10和11上不显示蒙特塞拉特字体

时间:2014-10-14 08:56:05

标签: internet-explorer fonts google-font-api

在这个网站http://themescreators.com/ela/我正在使用一些谷歌字体。所有这些都在Chrome,FF上运行良好..但在Windows 7上的IE 10和11上,“蒙特塞拉特”字体不显示。我真的不知道可能是什么问题,IE是否与某些谷歌字体不兼容?

如果您在Windows 7上访问该网站,您将清楚地看到问题,所有“蒙特塞拉特”h1,h2 ......都不可见。

提前致谢!

2 个答案:

答案 0 :(得分:5)

首先,如果蒙特塞拉特没有正确加载,您还没有定义任何可以显示的辅助字体。这就是没有显示字体的原因。

h1, h2, h3, h4, h5, h6 {
   font-family: Montserrat;
   font-weight: 400;
   font-style: normal;
   color: #1C2334;
}

我建议你正确设置font-family并为这种情况添加更多字体。

其次,蒙特塞拉特没有正确加载,因为这是IE11的错误,已在Google Font Directory以及MSDN Forum上报告。不幸的是它尚未修复。

一种解决方案是下载Google Web Fonts,将其上传到您的网站,并手动将其定义在css文件中。另一种方法可能是使用JavaScript Web Font Loader而不是默认值。

答案 1 :(得分:5)

我遇到了类似的错误,即使有后备字体也没有解决问题。蒙特塞拉特的字体加载正常,因此从未加载后备。

事实证明,使用CSS规则font-feature-settings导致此特定字体在Windows 7上的IE10和IE11中完全停止显示。(尽管它可能会导致其他字体出现类似问题)。

修复是使用IE供应商特定的前缀禁用font-feature-settings的低级字体调整:

/* Fix for IE10 and IE11 Montserrat font display issues. */
p {
    -ms-font-feature-settings: normal;
}

如果可能的话,最好完全避免font-feature-settings。或者确保您有测试方案来测试每个Windows操作系统上的各种IE浏览器版本。特别是因为字体渲染不仅仅是一个浏览器功能,而且还是底层操作系统的功能。