html – 为什么IE10的“IE8标准”模式与IE9不同?

前端之家收集整理的这篇文章主要介绍了html – 为什么IE10的“IE8标准”模式与IE9不同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下 HTML
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <Meta http-equiv="X-UA-Compatible" content="IE=8" />
  5. <link href='https://fonts.googleapis.com/css?family=Bitter:400' rel='stylesheet' type='text/css'/>
  6.  
  7. <style type="text/css">
  8.  
  9. h1 {
  10. font-family: Bitter;
  11. font-weight: normal;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <h1>Why is this different?</h1>
  17. </body>
  18. </html>

在Windows 7的IE9中查看时,Bitter font-face已加载并正确应用:

但是当在Windows 8上的IE10中查看时,它不是,回到默认的font-face(Times New Roman):

由于两个浏览器都使用相同的文档模式(因为X-UA兼容的元标记),我认为它们都会有Bitter字体或失败并重新使用Times New Roman字体.但是,一个正在工作(Windows 7上的IE9),一个失败(Windows 8上的IE10)

这是一个已知问题或记录的功能吗?

解决方法

如果字体在IE8本身实际上不起作用,那么听起来IE10具有比IE9更好的兼容性引擎 – 因为它实际上正确地描绘了IE8呈现的内容.

为什么IE9 Compat 8实际上显示了字体,为什么字体在IE8中不起作用?我会将其归结为字体文件问题. @ font-face似乎很容易受到问题的影响 – 字体属性设置似乎偶尔会出现问题之一.见:Why does one of these font-face render in IE8,but the others don’t?.

下载字体,通过Font Squirrels generator,并使用我自己的@ font-face代码在本地托管字体文件集,您已经报告该字体在IE10 Compat 8中工作.我可以确认它也可以在所有Compat的IE9中使用模式,以及IE7 / 8.

Bitter font works in IE10 compat mode with Font Squirrel generated font files/code.

看到你已经说过其他谷歌字体在IE9 / 10 Compat模式8下工作,我认为它真的能够解决问题在于字体文件本身 – 以及IE似乎随机出现的问题及其属性. Font Squirrel生成器在@ font-face问题上似乎解决了大多数人的问题 – 但正如你在Why does one of these font-face render in IE8,but the others don’t?中看到的那样,情况并非总是如此.

因为这不仅仅是兼容性问题 – 它在IE8中根本不起作用 – 看起来你唯一的选择是在本地托管字体.

如果您想要更好地控制字体以及在字体加载或失败时操纵元素CSS的能力,请参阅:How to know if a font (@font-face) has already been loaded?

猜你在找的HTML相关文章