7

@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 を使用している場合、Web ページがクラッシュし、再度開こうとして再びクラッシュします。実際の例はhttp://rcnhca.org.uk/sites/first_steps/にあります。

この狂気の原因を知っている人はいますか?

4

3 に答える 3

9

私は少し前に同じ問題を抱えていました.いくつかのデバッグの後、クラッシュの原因は. @font-face(私の場合はfonts.cssと呼ばれる別のスタイルシートとして含まれていました)が<head>. IE8 ではこれに問題がありますが、レンダリングを のすぐ内側に移動すると問題なく動作します<body>

これを試して:

<head>
  <!--[if gt IE 8]><!-->
    <link href="fonts.css" rel="stylesheet" type="text/css">
  <!--><![endif]-->
</head>
<body>
  <!--[if IE 8]>
    <link href="fonts.css" rel="stylesheet" type="text/css">
  <![endif]-->
  <!-- The rest of your page here -->
</body>

ブラウザーが IE8 よりも新しい場合、これにより、頭の中でフォント スタイルシートがレンダリングされます。ブラウザが IE8 の場合、本体のすぐ内側でレンダリングされます。

注: IE7 以前をサポートしている場合は、条件付きコメントを調整する必要がある場合があります。

于 2012-07-08T20:15:13.023 に答える
4

IE8 は二重引用符を好むようです。これにより、最初の読み込み時にスタイルが設定されていないテキストが修正され、クラッシュが修正される可能性があります。

私の問題を解決したここの人への称賛: @font-face not embedded in IE8 and under

于 2012-05-24T22:46:47.863 に答える