我一直在开发一个使用Google Fonts API的网站 . 它__79856_ t样式 .
我包含了字体,如Google instructs,因此:
<link href="http://fonts.googleapis.com/css?family=Josefin+Sans+Std+Light"
rel="stylesheet" type="text/css" />
并在CSS中将其名称添加到字体系列的前面:
身体{
font-family:“Josefin Sans Std Light”,“Times New Roman”,Times,serif;
font-size:16px;
overflow-y:scroll;
overflow-x:hidden;
颜色:#05121F;
}
就像Chrome,Firefox,Safari中的魅力一样 . IE 8中没有骰子 . 任何人都知道为什么?
11 回答
这个方法,正如他们的technical considerations页所示,是正确的 - 所以你绝对没有做错任何事 . 但是,Google代码上的this bug report表示Google为此制作的字体存在问题,特别是IE版本 . 这似乎只影响一些字体,但它是一个真正的bummmer .
线程上的答案表明问题在于Google 's serving up, so there'你无能为力 . 作者建议从其他位置获取字体,例如FontSquirrel,然后在本地提供,在这种情况下,您可能也会对像the League of Movable Type这样的网站感兴趣 .
注:截至2010年10月,该问题在Google Code错误报告中报告为已修复和已结束 .
看起来IE8-IE7无法通过 same file request 使用
link
标签href
了解多种Google Web字体样式 .这两个链接帮助我解决了这个问题:
请参阅open Google issue,并查看评论 .
另见StackOverlow回答Google Web Fonts don't work in IE8
我在IE7-IE8中使用它的唯一方法是只有一个Google Web字体请求 . 并且
link
标签的href
中只有一种字体样式:所以通常你会有这个,在同一个请求中声明多种字体样式:
但是在IE7-IE8中添加一个IE条件并指定每个Google字体样式 separately 它会起作用:
希望这可以帮助别人!
Google字体使用Web开放字体格式(WOFF),这很好,因为它是W3C推荐的字体格式 .
早于IE9的IE版本不支持Web开放字体格式(WOFF),因为它当时不存在 . 要支持<IE9,您需要在Embedded Open Type(EOT)中提供字体 . 为此,您需要编写自己的@ font-face css标记,而不是使用Google的嵌入脚本 . 您还需要将原始WOFF文件转换为EOT .
您可以将您的WOFF转换为EOT,首先将其转换为TTF,然后转换为EOT:http://convertfonts.com/
然后你可以像这样提供EOT字体:
现在它适用于<IE9 . 但是,现代浏览器不再支持EOT,所以现在你的字体在现代浏览器中不起作用 . 所以你需要指定它们 . src属性通过逗号分隔字体URL并拼写类型来支持此功能:
但是,<IE9不理解这一点,它只是抓取第一个引号和最后一个引号之间的文本,因此它实际上会得到:
作为字体的URL . 我们可以通过首先指定一个只有一个url(即EOT格式)的src来解决这个问题,然后指定第二个src属性,它适用于现代浏览器,<IE9将无法理解 . 因为<IE9将无法理解它,它将忽略标记,因此EOT仍然可以正常工作 . 现代浏览器将使用它们支持的最后指定字体,因此可能是WOFF .
所以只是因为在第二个src属性中你指定
format('woff')
,<IE9赢得't understand it (or actually it just can' t在urlmyfont.woff') format('woff
找到字体并且将继续使用第一个指定的(eot) .所以现在让你的Google Webfonts适用于<IE9和现代浏览器!
有关不同字体类型和浏览器支持的更多信息,请阅读Alex Tatiyants的完美文章:http://tatiyants.com/how-to-get-ie8-to-support-html5-tags-and-web-fonts/
虽然易江的解决方案可行,但我不认为放弃Google Web Font API是正确的答案 . 当它从CDN没有正确加载时我们提供本地jQuery文件,对吧?
那么为什么我们不会对字体做同样的事情,特别是<IE9?
这是我使用自定义字体时的过程:
从Google下载字体的ZIP文件夹,并使用Font Squirrel's @font-face Generator创建本地Web字体 .
创建一个调用新创建的本地托管字体文件的
fonts.css
文件(仅在<IE9时链接到文件,如上所示) . 注意:@ font-face Generator会为您创建此文件 .当然,这是一个额外的工作,但我们不是从IE预期这一点?此外,它在一段时间后变成了第二天性 .
对于它的 Value ,我无法让它在IE7 / 8/9上工作,并且多重声明选项没有任何区别 .
对我的修复是由于Technical Considerations Page上的说明突出显示的......
适用于我的IE7 / 8/9现在 .
我尝试了上面的所有选项,但它们没有用 . 然后我找到了我的文件夹(新)中的谷歌字体(Over the Rainbow),并在下面使用IE条件,它工作得很完美 .
我希望它会有所帮助
您可以尝试fontsforweb.com,其中字体适用于所有浏览器,因为它们以TTF,WOFF和EOT格式提供,CSS代码可以粘贴到您的页面上,即
或者您可以将它们压缩在一个附有CSS文件的包中
然后只需将类添加到任何元素以应用该字体即
看到它工作:http://jsfiddle.net/SD4MP/
这一切都是关于尝试所有这些答案,对我来说,除了下一个解决方案之外没有任何作用:谷歌字体建议
但是,我在这里使用的是外语字体,而且它只适用于IE11 . 我发现这个解决方案有效:
希望能节省宝贵的时间
尝试这种类型的链接,它也将在IE中运行 . 希望这可以帮助 .
我和你有同样的问题 . 我找到了一个使用Adobe Web Fonts代码的解决方案,在Internet Explorer,Chrome,Firefox和Safari中都很完美 .
本页中的更多信息:http://html.adobe.com/edge/webfonts/
经过我的调查,我找到了这个解决方案:
MUST OBSERVE: 我们必须正确编写此字体的
font-weight
. 例如:font-weight:900;
will not work 因为我们在使用上述链接从Google导入时没有将900
像200,300,400,600,700,800
包含在URL地址中 . 我们可以在上面的网址中添加或包含900
,但是 work only if 上面的Google Font在嵌入时有此选项 .