@ font-face崩溃了IE8

时间:2012-04-24 08:17:34

标签: css fonts internet-explorer-8 crash font-face

我刚刚在我的网站上通过@ font-face(由fontsquirrel.com生成)安装了字体Aller Regular和Aller bold。

这是CSS:

@font-face {
    font-family: 'AllerRegular';
    src: url('library/fonts/aller_rg-webfont.eot');
    src: url('library/fonts/aller_rg-webfont.eot?#iefix') format('embedded-opentype'),
         url('library/fonts/aller_rg-webfont.woff') format('woff'),
         url('library/fonts/aller_rg-webfont.ttf') format('truetype'),
         url('library/fonts/aller_rg-webfont.svg#AllerRegular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'AllerBold';
    src: url('aller_bd-webfont.eot');
    src: url('library/fonts/aller_bd-webfont.eot?#iefix') format('embedded-opentype'),
         url('library/fonts/aller_bd-webfont.woff') format('woff'),
         url('library/fonts/aller_bd-webfont.ttf') format('truetype'),
         url('library/fonts/aller_bd-webfont.svg#AllerBold') format('svg');
    font-weight: normal;
    font-style: normal;

}

当我在firefox中使用以太字体时,这工作正常,但是当我使用IE8时,网页崩溃尝试重新打开并再次崩溃。可以在http://rcnhca.org.uk/sites/first_steps/

找到一个实例

有谁知道是什么导致了这种疯狂?

3 个答案:

答案 0 :(得分:9)

前一段时间我遇到了同样的问题,经过一些调试后我发现崩溃是因为@font-face(在我的情况下被包含在一个名为fonts.css的单独样式表中)在{ {1}}。 IE8有一个问题,但是当我将渲染移到<head>内时,效果很好。

试试这个:

<body>

如果浏览器比IE8更新,则会在您脑海中呈现字体样式表。如果浏览器是IE8,它会将它呈现在你体内。

注意:如果您支持IE7或更早版本,则可能需要调整条件注释。

答案 1 :(得分:4)

IE8似乎更喜欢双引号。第一次加载时,这个固定的无格式文本可能会为您修复崩溃。

感谢这里的家伙,这解决了我的问题:@font-face not embedding in IE8 and under

答案 2 :(得分:1)

我在使用自定义字体开发页面时遇到了类似的问题。 IE8崩溃了。我通过在任何其他font-face声明之前放置IE8 font-face声明来修复它。即:

<!-- Custom .eot fonts for IE8 -->
<!-- IE8 fonts should load before other font-face declarations to avoid IE8 crash  -->
<!--[if lt IE 9]>
  <link rel="stylesheet" href="/pub/stylesheets/fonts-ie8.css" />     
<![endif]-->

<!-- Custom .woff fonts -->
<link href="/pub/stylesheets/fonts.css" rel="stylesheet">