字體圖標(biāo)生成原理(2)(@font-face屬性)

語(yǔ)法規(guī)則


先看下@font-face的語(yǔ)法規(guī)則:

@font-face {

font-family:<YourWebFontName>;

src:<source>[<format>][,<source>[<format>]]*;

[font-weight:<weight>];

[font-style:<style>];

} 

取值說(shuō)明:

1、YourWebFontName: 自定義字庫(kù)名稱(chēng)(一般設(shè)置為所引入的字庫(kù)名),后續(xù)樣式規(guī)則中則通過(guò)該名稱(chēng)來(lái)引用該字庫(kù)。最好是使用你下載的默認(rèn)字體,他將被引用到你的Web元素中的font-family。如“font-family:”YourWebFontName”;”

2、src:設(shè)置字體的加載路徑和格式,通過(guò)逗號(hào)分隔多個(gè)加載路徑和格式

3、source:此值指的是你自定義的字體的存放路徑,可以是相對(duì)路徑也可以是絕路徑;

4、format:此值指的是你自定義的字體的格式,主要用來(lái)幫助瀏覽器識(shí)別,其值主要有以下幾種類(lèi)型:truetype,opentype,truetype-aat,embedded-opentype,avg等;

5、weight和style:這兩個(gè)值大家一定很熟悉,weight定義字體是否為粗體,style主要定義字體樣式,如斜體。

src屬性后還有一個(gè) local(font name) 字段,表示從用戶系統(tǒng)中加載字體,失敗后才加載webfont。

src: local(font name), url("font_name.ttf")

字體格式


對(duì)于@font-face而言,兼容性問(wèn)題就是各瀏覽器所能識(shí)別的字體格式不盡相同。
1、TrueType格式(.ttf):
Windows和Mac上常見(jiàn)的字體格式,是一種原始格式,因此它并沒(méi)有為網(wǎng)頁(yè)進(jìn)行優(yōu)化處理。
 瀏覽器支持:IE9+,FireFox3.5+,Chrome4.0+,Safari3+,Opera10+,IOS Mobile Safari4.2+

2、OpenType格式(.otf):
 以TrueType為基礎(chǔ),也是一種原始格式,但提供更多的功能。
 瀏覽器支持:FireFox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,IOS Mobile Safari4.2+

3、Web Open Font格式(.woff):
 針對(duì)網(wǎng)頁(yè)進(jìn)行特殊優(yōu)化,因此是Web字體中最佳格式,它是一個(gè)開(kāi)放的TrueType/OpenType的壓縮版,同時(shí)支持元數(shù)據(jù)包的分離。
 瀏覽器支持:IE9+, FireFox3.5+, Chrome6+, Safari3.6+,Opera11.1+

4、Embedded Open Type格式(.eot):
IE專(zhuān)用字體格式,可以從TrueType格式創(chuàng)建此格式字體。
 瀏覽器支持:IE4+

5、SVG格式(.svg):
基于SVG字體渲染的格式。
瀏覽器支持:Chrome4+, Safari3.1+, Opera10.0+, IOS Mobile Safari3.2+

這就意味著在@font-face中我們至少需要.woff,.eot兩種格式字體,甚至還需要.svg等字體達(dá)到更多種瀏覽版本的支持。
為了使@font-face達(dá)到更多的瀏覽器支持,Paul Irish寫(xiě)了一個(gè)獨(dú)特的@font-face語(yǔ)法叫Bulletproof @font-face:

@font-face {

font-family:'YourWebFontName';

src:url('YourWebFontName.eot?')format('eot');/*IE*/

src:url('YourWebFontName.woff')format('woff'),

url('YourWebFontName.ttf')format('truetype');/*non-IE*/

}

但為了讓各多的瀏覽器支持,也可以寫(xiě)成:

@font-face {

font-family:'YourWebFontName';

src:url('YourWebFontName.eot');/* IE9 Compat Modes */

src:url('YourWebFontName.eot?#iefix')format('embedded-opentype'),/* IE6-IE8 */

url('YourWebFontName.woff')format('woff'),/* Modern Browsers */

url('YourWebFontName.ttf')format('truetype'),/* Safari, Android, iOS */

url('YourWebFontName.svg#YourWebFontName')format('svg');/* Legacy iOS */

}

既然要使用里面的圖標(biāo),那么多圖標(biāo),怎么調(diào)用呢,這個(gè)問(wèn)題就是上篇文章的內(nèi)容了字體圖標(biāo)生成原理(1)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容