2012-03-07 11 views
3

IE(IE9)でフォントを正しく読み込むのに問題があります。 Chromeで正常に動作します。Internet Explorerは@ font-faceを使用してフォントアイコンを表示しません

この問題を見るには、Fiddleをご覧ください。 IE9ではボックスが表示され、Chromeでは星が表示されます。

FontAwesomeパッケージを使用しています(here)。私は問題が.cssファイルの上部にある@ font-face宣言にあると思う(下に示す)。誰かがIEがこのフォントをレンダリングしない理由を見ることができますか? jsfiddleで

@font-face { 
    font-family: 'FontAwesome'; 
    src: url('../font/fontawesome-webfont.eot'); 
    src: url('../font/fontawesome-webfont.eot?#iefix') format('embedded-opentype'), 
    url('../font/fontawesome-webfont.woff') format('woff'), 
    url('../font/fontawesome-webfont.ttf') format('truetype'), 
    url('../font/fontawesome-webfont.svgz#FontAwesomeRegular') format('svg'), 
    url('../font/fontawesome-webfont.svg#FontAwesomeRegular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

答えて

3

問題を解明しました。私は互換モードでIE9を持っていた。私はそれをオフにすると、フォントが表示され始めました。

+0

あなたは、同じ問題で同じことを理解するのにどれくらいの時間がかかったのか想像できません...私は終日のように連れて行きました。 –

0

、あなたはイタリック(i要素)を使用している、任意の要素のためのfont-familyを設定されていませんが、あなたの@font-faceは、通常のフォントを指定し、@font-faceが欠落しているため、jsfiddleは、問題を示すものではありません(とURLが相対的なので、そこでは動作しません)。

また、jsfiddleは、通常のコンテンツではなく、生成されたコンテンツのスタイルを設定しようとします。使用される文字はプライベートユースキャラクタ(U + F060)であり、民間契約以外ではそのキャラクタは送信されずに使用されるはずです。

他の問題(生成されたコンテンツの問題など)の影響を排除するために、可能な限り単純な問題を特定することをお勧めします。

+0

私はフィドルでもっともシンプルなケースがあると思った。私はこれをローカルで(Fiddle環境の外で)再現できますが、CSSがフォントファイルを参照しているので、FiddleのリソースとしてFontAwesomeパッケージを追加する必要がありました。私のサーバー上のリソースは、FontAwesomeのWebサイトからの元のダウンロードと同じです。参照されるCSSリソースを見ると、font-familyが設定されていることがわかります。また、フォントはChromeで元に戻っているので、相対URLが機能していると思います。 –

+0

私はそれがIISやWebサーバーjsFiddleで使用されている設定に欠けているかもしれないと思います。私はサンプルページを作成し、ファイルシステムから両方のブラウザにロードしただけでうまくいきます。私はIISでMIMEタイプをチェックしましたが、すでに存在していて、他のものを追加しても問題は解決しませんでした。 –

関連する問題