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

前端之家收集整理的这篇文章主要介绍了html – 为什么IE10的“IE8标准”模式与IE9不同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下 HTML
<!DOCTYPE HTML>
<html>
    <head>
        <Meta http-equiv="X-UA-Compatible" content="IE=8" />
        <link href='https://fonts.googleapis.com/css?family=Bitter:400' rel='stylesheet' type='text/css'/>

        <style type="text/css">

        h1 {
            font-family: Bitter;
            font-weight: normal;            
        }
        </style>
    </head>
    <body>
        <h1>Why is this different?</h1>
    </body>
</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相关文章