2012-03-07 53 views
3

我無法在IE(IE9)中正確加載字體。在Chrome中運行良好。Internet Explorer不會使用@ font-face來顯示字體圖標

您可以通過查看此Fiddle來查看問題。在IE9中顯示一個框,而在Chrome中顯示一個星標。我使用FontAwesome包發現here。我認爲問題在於.css文件頂部的@ font-face聲明(如下所示)。有人可以看到爲什麼IE不會呈現這種字體?

@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

你無法想象在相同的問題上我花了多少時間來弄清楚同樣的問題......把我當成了一整天,祝你工作順利 – 2012-03-07 18:28:15

0

在的jsfiddle,你是不是對任何元素設置font-family,您使用斜體(i元),但你的@font-face僅指定正常字體,因爲@font-face缺少的jsfiddle並不能說明問題(和在那裏不起作用,因爲URL是相對的)。

此外,您的jsfiddle嘗試對生成的內容進行樣式設置,而不是普通內容。使用的字符是私人使用字符(U + F060),除私人協議外,此類字符不應被傳輸和使用。

最好在最簡單的情況下儘可能隔離問題,以消除其他問題(如生成內容的問題)的影響。

+0

好的。我認爲我在小提琴中有一個最簡單的例子。我能夠在本地重現(在Fiddle環境之外),但由於CSS引用了字體文件,我不得不將FontAwesome包添加爲Fiddle的資源。我的服務器上的資源與來自FontAwesome網站的原始下載無異。我相信如果你看看引用的CSS資源,你會看到設置的字體家族。另外,由於字體在Chrome中拉回,我相信相對URL正在工作。 – 2012-03-07 05:10:59

+0

我認爲這可能是IIS和/或任何Web服務器jsFiddle使用的缺失設置。我創建了一個示例頁面,並將其從文件系統加載到兩個瀏覽器中,並且工作正常。我檢查了IIS中的MIME類型,但是.eot已經存在,並且添加其他文件並沒有解決問題。 – 2012-03-07 11:21:33

相關問題