0

我用@font-face可以,如果我得到錯誤,說字體沒有加載,但它們顯示在網頁上?

@font-face { // body font 
    font-family: 'Sofia Pro Light'; 
    src: url('../library/fonts/Sofia Pro Light/SofiaProLight.eot'); 
    src: url('../library/fonts/Sofia Pro Light/SofiaProLight.eot?#iefix') format('embedded-opentype'), 
     url('../library/fonts/Sofia Pro Light/SofiaProLight.woff') format('woff'), 
     url('../library/fonts/Sofia Pro Light/SofiaProLight.ttf') format('truetype'), 
     url('../library/fonts/Sofia Pro Light/SofiaProLight.otf') format('opentype'), 
     url('../library/fonts/Sofia Pro Light/SofiaProLight.svg#font-name') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

這裏就是Chrome瀏覽器開發工具,讓我 我應該忽略它?因爲一切似乎都很好。

+0

爲什麼你有兩個'src'值?我不認爲這是'@ font-face'的有效使用。單獨的值應該在一個「src」值下合併到一個列表中。 – apsillers 2012-07-30 15:38:23

回答

1

我會打開Fiddler,看看是否一切正常。

我假設文件真的是你說的地方。所以我懷疑你遇到了同樣的事情。 Chrome對mime類型很挑剔。但錯誤信息是誤導性的。基本上,當你沒有適合WOFF文件的適當的MIME類型時,Chrome將會故障轉移到另一種字體格式。在這種情況下,它將首先故障轉移到TTF字體。這意味着Chrome會下載兩種不同的字體格式。只是,它看起來像TTF字體也出現錯誤,因此Chrome可能會在您的情況下下載3種不同的格式。

所以這是值得修復的。您只需將服務器配置爲發送application/x-font-woff作爲WOFF文件的MIME類型。

例如,在ASP.NET你要補充這在web.config ...

<system.webServer> 
     <staticContent> 
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" /> 
     </staticContent> 
</system.webServer> 
相關問題