Internet Explorer 8 中的字体问题

Font Face issues in Internet Explorer 8

我为 IE 8 创建了一个测试页面,看看我是否可以使用 Google 字体。你可以在问题的最后找到代码。

我通过使用带有字体列表的元素来包含我需要的所有 Google 字体。

现在,根据元素中的 HREF 属性长度,Google 字体可能无法在 IE 8 中使用。

案例如下:

如果我有:

<link rel=stylesheet type="text/css"
    href="//fonts.googleapis.com/css?family=Tangerine|Open+Sans|Droid+Sans|PT+Sans|Josefin+Slab|Arvo|Lato" />

Google 字体在 IE 8 中不起作用。

现在,如果我删除 "Lato",最后指定的字体:

<link rel=stylesheet type="text/css"
    href="//fonts.googleapis.com/css?family=Tangerine|Open+Sans|Droid+Sans|PT+Sans|Josefin+Slab|Arvo" />

Google 字体在 IE 8 中正常工作。

在这两种情况下,它们在 Chrome 中都运行良好,这仅与 IE 8 相关。

HTML 测试页代码:

<html>
<head>
<link rel=stylesheet type="text/css"
  href="//fonts.googleapis.com/css?family=Tangerine|Open+Sans|Droid+Sans|PT+Sans|Josefin+Slab|Arvo|Lato" />

<style>
div {
  font-size: 36px;
  font-family: 'Tangerine'; /* here is the google font */
}
</style>

</head>
<body>
  <div>This div will get the google font family</div>
</body>
</html>

是的,这是 IE 的问题 - 对于 IE8 及以下版本 - 一种解决方案是在条件语句中为每种字体分离出 links - 它不喜欢 link属性。

<!--[if lte IE 8]>
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Tangerine" /> 
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans" /> 
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Droid+Sans" />
<![endif]-->