我看过这个:Google Web Fonts don't work in IE8,而且:How to make Google Fonts work in IE?。对我来说都不适用。第一个建议不要一次导入太多字体,而后者已经过时,因为该漏洞已于2010年修复。
HTML如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Font Test</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Google Fonts Test">
<link type='text/css' href='https://fonts.googleapis.com/css?family=Cantarell' rel='stylesheet'>
<link type='text/css' href='https://fonts.googleapis.com/css?family=Play:700' rel='stylesheet'>
<link type='text/css' href='https://fonts.googleapis.com/css?family=Muli:300' rel='stylesheet'>
<!--<link type='text/css' href='//fonts.googleapis.com/css?family=Lato:900' rel='stylesheet'>-->
<link type="text/css" href="https://static.mysite.com/blah/font-test.css" rel="stylesheet">
</head>
<body>
<div class="page-title">
This Is Title
</div>
<div class="page-content">
This is content
</div>
</body>
</html>
这是相应的CSS:
body {
height: 100%;
width: 960px;
min-height: 550px;
max-height: 1080px;
margin: 20px 60px 40px 20px;
padding-left: 10px;
padding-right: 10px;
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKklEQVQIW2OceOe1cb6K6FkGJAASYwTxkSVhbLAETBJEw3Tjl8BqFC7LAdSSJR3onNbEAAAAAElFTkSuQmCC) repeat;
}
.page-title {
height: 55px;
font: 38px "Play";
}
.page-content {
font: 16px "Cantarell";
width: 630px;
text-align: justify;
}
以上是在最新的Chrome中测试的,效果很好。但是由于某些原因它在IE8中不起作用。我缺少什么?
更新:IE8根本无法使用Google Fonts API。事实上,如果我使用IE8浏览Google Fonts API页面上的许多字体样本,它们都不能正确呈现。使用这些字体的唯一可靠方法是将它们转换为EOT
类型(使用WOFF
类型),并从您的服务器提供,这是一种耻辱,因为您不能再使用Google的CDN了。 / p>
答案 0 :(得分:1)
我对其他答案和评论感到困惑所以我会把它扔出去。无论何时使用数据uris,属性或集合,您都会冒险进入IE不公平的区域,不支持或限制它。只有现代浏览器才能正确处理它们,但我是通过手机进行操作而无法进一步使用它。结帐http://caniuse.com/#search=data
答案 1 :(得分:0)
在某些浏览器上遇到某些Google字体问题的情况并不少见,特别是在远程使用时(Google推荐的方式)。通常有助于下载字体,使用例如生成字体文件来生成字体文件。 FontSquirrel然后将它们上传到您的服务器上。