Internet Explorer 9+、Firefox、Chrome、Safari和Opera支持WOFF(Web开放字体格式)字体。
Firefox、Chrome、Safari和Opera支持TTF(True Type Fonts)和OTF(OpenType Fonts)类型的字体。
Chrome、Safari和Opera还支持SVG字体/形状。
Internet Explorer还支持EOT(嵌入式开放字体)字体。
注意:Internet Explorer 8及更早版本不支持@font-face规则。
然而,
IE8与web字体的关系比“不支持”要复杂一些。它实际上支持它们,但使用它们很麻烦。
有五种类型的web字体格式:
嵌入式开放字体(EOT)
TrueType(TTF)
OpenType(OTF)
可缩放矢量图形(SVG)
Web开放字体格式(WOFF)
在这些字体格式中,WOFF将成为标准。它受到Chrome、Firefox(自3.6版以来)、Opera、Safari和IE9的支持。
当然,IE8对WOFF一无所知,只支持EOT(公平地说,这主要是因为IE8先于WOFF)。这意味着要使用可以在IE8和其他浏览器中显示的web字体,您必须提供EOT和WOFF格式。
更糟糕的是,IE8有一个错误,阻止它加载同一字体的多个格式。幸运的是,您可以使用一个hack来解决这个问题。
无论如何,这里是@font-face的跨浏览器CSS:
@font-face {
font-family: 'OpenSans';
src: url('fonts/OpenSans-Light-webfont.eot');
src: url('fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
url('fonts/OpenSans-Light-webfont.woff') format('woff'),
url('fonts/OpenSans-Light-webfont.ttf') format('truetype'),
url('fonts/OpenSans-Light-webfont.svg#OpenSansLight') format('svg');
font-weight: 300;
font-style: normal;
}
在这个例子中,我使用了一种名为Open Sans的字体及其多种格式(EOT、WOFF、TTF和SVG),它们存储在我的网站上的“fonts”文件夹中。
如果你想知道为什么我包括了SVG格式,答案是因为移动Safari(iPhone/iPad)直到4.1版本只支持这种格式。