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

The*_*tor 9 fonts internet-explorer google-font-api

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

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

提前致谢!

knu*_*hol 5

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

h1, h2, h3, h4, h5, h6 {
   font-family: Montserrat;
   font-weight: 400;
   font-style: normal;
   color: #1C2334;
}
Run Code Online (Sandbox Code Playgroud)

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

其次,蒙特塞拉特没有正确加载,因为这是IE11的错误,已在谷歌字体目录MSDN论坛上报告.不幸的是它尚未修复.

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


lee*_*ers 5

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

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

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

/* Fix for IE10 and IE11 Montserrat font display issues. */
p {
    -ms-font-feature-settings: normal;
}
Run Code Online (Sandbox Code Playgroud)

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