不能使字体在IE上工作,7,8

时间:2012-04-27 10:08:13

标签: css internet-explorer-8 cross-browser internet-explorer-7

我无法在font-faceIE7IE8工作。

我使用的代码是:

@font-face {
    font-family: 'DroidSans';
    src: url('fonts/DroidSans.eot');
    src: url('fonts/DroidSans.eot?iefix') format('eot'),
         url('fonts/DroidSans.woff') format('woff'),
         url('fonts/DroidSans.ttf') format('truetype'),
         url('fonts/DroidSans.svg#webfont1BSMunJa') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'DroidSans';
    src: url('fonts/DroidSans-Bold.eot');
    src: url('fonts/DroidSans-Bold.eot?iefix') format('eot'),
         url('fonts/DroidSans-Bold.woff') format('woff'),
         url('fonts/DroidSans-Bold.ttf') format('truetype'),
         url('fonts/DroidSans-Bold.svg#webfont1BSMunJa') format('svg');
    font-weight: bold;
}
@font-face {
    font-family: 'Lobster';
    src: url('fonts/Lobster.eot');
    src: url('fonts/Lobster.eot?iefix') format('eot'),
         url('fonts/Lobster.woff') format('woff'),
         url('fonts/Lobster.ttf') format('truetype'),
         url('fonts/Lobster.svg#webfont1BSMunJa') format('svg');
    font-weight: normal;
    font-style: normal;
}

我读过这些文章:

他们都说这个解决方案应该是跨浏览器兼容的:

浏览器兼容性:Safari,IE 6-9,IE 9兼容模式,Firefox,Chrome,iOS,Android,Opera

我做错了什么?有没有人有这方面的经验?

我在这里测试:dev.holiday.ge/xhtml /

4 个答案:

答案 0 :(得分:5)

。我使用本网站生成的文件:http://fontface.codeandmore.com/有问题,即7-8没有拿起它们。 我使用http://www.fontsquirrel.com/并且字体加载正常,使用我的原始代码!

答案 1 :(得分:1)

我以前遇到过你的问题。我用简单的解决方案解决了这个问题。我正在使用 2个CSS文件。一个用于IE,一个用于其他用户。所以我的<head>是这样的:

<link href="styles/css.css" rel="stylesheet" type="text/css" />
<!--[if IE]>
  <link href="styles/css.ie.css" rel="stylesheet" type="text/css" />
<![endif]-->

这些是我的CSS文件:

/* css.css */
@font-face {
    font-family: 'font';
    src: local("☺"),
    url("fonts/f1.woff") format("woff"),
    url("fonts/f1.ttf") format("truetype");
}

仅限IE :( eot

/* css.ie.css */
@font-face {
    font-family: 'font';
    src: url('fonts/f1.eot');
}

这对我有用,之前我已多次使用过它。

答案 2 :(得分:0)

由于Internet Explorer 8及更早版本,不支持@ font-face规则。

请参阅http://www.w3schools.com/cssref/css3_pr_font-face_rule.asp

@ font-face属于CSS3 http://www.w3.org/TR/css3-fonts/

另一个Q / A Do IE browsers (IE6, 7, 8) support @font-face?

未正式/完全支持的功能(请参阅:css3规范)可能仍然可以使用一些黑客工作(视觉上关闭)。

正如您所看到的,撰写文章的人已经知道了

  

什么?我不明白。

     

使这项工作的( hack )技巧是'?'遵循EOT文件名。严重。

您是否认为此网址符合某些标准,请记住此处仅供浏览器使用:fonts/DroidSans-Bold.eot?iefix
一篇文章指出,事实上,克服IE漏洞是一种破解。 如果现在修复了这些错误怎么办?它还能用吗?

此处参考的是三叉戟版本http://msdn.microsoft.com/en-us/library/ms530303(VS.85).aspx,这里大多数人称之为标准http://www.w3.org/TR/css3-fonts/#font-resources,另请参阅http://en.wikipedia.org/wiki/Trident_(layout_engine)

答案 3 :(得分:0)

是否有特殊原因不使用Google Web Fonts?这两种字体都已存在,并且以某些带宽为代价更容易。我一直都在使用它们,我在IE 7-8-9中没有遇到任何问题。

编辑:就问题而言,我不确定,但我记得读过有关IE不接受两个src属性的内容。或src属性中的多个值。如果你决定坚持使用自己的CSS,你可能会想到这一点。