2011-02-26 104 views
10

根據這篇文章,http://www.standardista.com/css3/font-face-browser-support IE支持@font-face,但我找不到它具有有效的自定義字體外觀任何網站IEIE瀏覽器(IE6,7,8)支持@ font-face嗎?

通過 @font-face從早期(IE6)工作

而且,如果IE支持自定義字體,那麼爲什麼人們仍然在使用cufon?

任何說明或示例?

+0

查看[「支持HTML和XML文檔」兼容性表](http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Web_Typography))。 – 2011-02-26 14:50:17

+0

相關http://webmasters.stackexchange.com/questions/26992/if-i-have-only-woff-and-eot-what-browsers-am-i-supporting-with-font-face – 2014-03-15 17:28:54

回答

13

舊版本的Internet Explorer支持Embedded OpenType (EOT)文件,在@font-face在CSS3中正式化之前。您可以在網站上找到兼容的文件,例如FontSquirrelGoogle's Font API。 FontSquirrel的轉換工具也應該在這裏幫助。另外值得一讀的是the latest bulletproof syntax recommended by fontspring爲多個瀏覽器嵌入多個文件。


直到最近才被頻繁使用的事實是雙重摺疊;首先在使用@font-face字體時存在法律問題 - 版權是特定的。與僅保留字體形狀的cufon不同,使用@font-face您正在傳輸實際字體本身,這具有法律影響。

另一個問題是在其他瀏覽器支持 - Firefox 3的是最後的現代瀏覽器的不支持@font-face以某種方式,讓火狐3.5在2009年年中@font-face發佈之前仍不可行。除了瀏覽器之間的格式支持有所不同之外,所以這種技術的開發速度很慢。

+0

我假設使用是否不會成爲Web開發人員的一個大問題?那麼爲什麼人們仍然使用cufon,因爲它比@ font-face慢,而且你不能在網頁上覆制/粘貼。再次感謝 – 2011-02-26 14:33:17

+0

並非所有字體許可證都允許使用@ font-face進行在線嵌入,但允許使用Cufon。隨着越來越多的人轉移到@ font-face,現在字體正在銷售包含EOT和WOF的特殊Web許可證(由IE9,FF,Chrome,WebKit支持 - 尚未發佈),只是時間問題。在Safari中,但它來了..已經可以在OS X 10.7預覽版中使用) – CharlesLeaf 2011-02-26 14:50:39

+2

舊版IE支持@ font-face的原因是因爲它最初是在CSS2.0規範中,但從CSS2.1中刪除。就像一個興趣點。 – 2011-03-01 10:19:20

5

Internet Explorer 9需要EOT類型的字體。 TTF字體可用於其他大多數最新瀏覽器版本,以及用於iPhone和iPad等設備的SVG。你可以在這裏閱讀更多關於@ font-face的瀏覽器支持http://www.w3schools.com/cssref/css3_pr_font-face_rule.asp

字體松鼠也是創建網絡字體文件,包括EOT從你現有的字體文件很好的資源。請確定您擁有使用網絡字體的許可。你可以在這裏享用免費網絡字體文件生成: http://www.fontsquirrel.com/fontface/generator

一個@字體面設定一個典型的CSS項看起來是這樣的:

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

然後你就可以通過指定「字體打電話給你的字體 - 家庭」屬性使用CSS

.my-class { font-family: "custom-font" } 
1

你也可以這樣寫:

@font-face { 
    font-family: 'custom-font'; 
    src: url('/some/directory/custom-font.eot'); 
} 
@font-face { 
    font-weight: normal; 
    font-style: normal; 
    font-family: 'custom-font'; 
    src: url('/some/directory/custom-font.woff') format('woff'), 
     url('/some/directory/custom-font.ttf') format('truetype'), 
     url('/some/directory/custom-font.svg#webfont') format('svg'); 
} 

與上面的示例一樣,不使用「?」標記。

1

是的,他們確實以IE6 *開頭。 正在工作example

字體必須遵循一些特殊規則,例如字體名稱必須以系列名稱開頭,並且CSS中的系列名稱必須與字體的系列名稱匹配。

如果使用字體松鼠webfont generator從.ttf生成.eot,它將確保生成的.eot在IE6上可用。

*請注意,在IE6/7/8中有自定義字體呈現的aliasing issues