CSS自定義字體(@font-face選擇符)

@font-faceCSS中的一個模塊,他主要是把本身定義的Web字體嵌入到你的網頁中,隨着@font-face模塊的出現,咱們在Web的開發中使用字體不怕只能使用Web安全字體。css

語法規則: css3

@font-face {瀏覽器

   font-family: <YourWebFontName>;安全

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

   [font-weight: <weight>];字體

   [font-style: <style>];優化

}網站

 

 

YourWebFontName: 你自定義的字體名稱; source: 此值指的是你自定義的字體的存放路徑,能夠是相對路徑也能夠是絕路徑; format: 此值指的是你自定義的字體的格式,主要用來幫助瀏覽器識別,其值主要有如下幾種類型:truetype,opentype,truetype-aat,embedded-opentype,avg等; weight和style:這兩個值你們必定很熟悉,weight定義字體是否爲粗體,style主要定義字體樣式,如斜體。url

兼容瀏覽器spa

CSS自定義字體(@font-face選擇符) - 小文_計算機 - 小文_計算機

說到瀏覽器對@font-face的兼容問題,這裏涉及到一個字體format的問題,由於不一樣的瀏覽器對字體格式支持是不一致的,這樣你們有必要了解一下,各類版本的瀏覽器支持什麼樣的字體,前面也簡單帶到了有關字體的幾種格式,下面我就分別說一下這個問題,讓你們內心有一個概念:

1、TureTpe(.ttf)格式:

.ttf字體是Windows和Mac的最多見的字體,是一種RAW格式,所以他不爲網站優化,支持這種字體的瀏覽器有【IE9+,Firefox3.5+,Chrome4+,Safari3+,Opera10+,iOS Mobile Safari4.2+】;

2、OpenType(.otf)格式:

.otf字體被認爲是一種原始的字體格式,其內置在TureType的基礎上,因此也提供了更多的功能,支持這種字體的瀏覽器有【Firefox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,iOS Mobile Safari4.2+】;

3、Web Open Font Format(.woff)格式:

.woff字體是Web字體中最佳格式,他是一個開放的TrueType/OpenType的壓縮版本,同時也支持元數據包的分離,支持這種字體的瀏覽器有【IE9+,Firefox3.5+,Chrome6+,Safari3.6+,Opera11.1+】;

4、Embedded Open Type(.eot)格式:

.eot字體是IE專用字體,能夠從TrueType建立此格式字體,支持這種字體的瀏覽器有【IE4+】;

5、SVG(.svg)格式:

.svg字體是基於SVG字體渲染的一種格式,支持這種字體的瀏覽器有【Chrome4+,Safari3.1+,Opera10.0+,iOS Mobile Safari3.2+】。

這就意味着在@font-face中咱們至少須要.woff,.eot兩種格式字體,甚至還須要.svg等字體達到更多種瀏覽版本的支持。

爲了使@font-face達到更多的瀏覽器支持,Paul Irish寫了一個獨特的@font-face語法叫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*/ }

但爲了讓各多的瀏覽器支持,你也能夠寫成:

@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 */ }

相關文章
相關標籤/搜索