利用CSS的@font-face屬性,在網頁中嵌入字型

文藝小青年發表於2017-11-24

字型使用是網頁設計中不可或缺的一部分。網頁是文字的載體,我們希望在網頁中使用某一特定字型,但是該字型並非主流作業系統的內建字型,這樣使用者在瀏覽頁面的時候就有可能看不到真實的設計。

美工設計師最常做的辦法是把想要的文字做成圖片,這樣做有幾個明顯缺陷:  

一、不可能大範圍的使用該字型;   

二、圖片內容相對使用文字不易修改;

三、不利於網站SEO。

網路上有一些使用sIFR技術、或javascript/flash hack的方法,但實現起來或繁瑣,或有缺陷。下面要講的是如何只通過CSS的@font-face屬性來實現在網頁中嵌入任意字型。
首先  獲取要使用字型的三種檔案格式,確保能在主流瀏覽器中都能正常顯示該字型。

 Example Source Code
.TTF或.OTF,適用於Firefox 3.5、Safari、Opera
.EOT,適用於Internet Explorer 4.0+
.SVG,適用於Chrome、IPhone

  下面要解決的是如何獲取到某種字型的這三種格式檔案。一般地,我們在手頭上(或在設計資源站點已經找到)有該字型的某種格式檔案,最常見的是.TTF檔案,我們需要通過這種檔案格式轉換為其餘兩種檔案格式。字型檔案格式的轉換可以通過網站FontsQuirrel或onlinefontconverter提供的線上字型轉換服務獲取。這裡推薦第一個站點,它允許我們選擇需要的字元生成字型檔案(在服務的最後一個選項),這樣就大大縮減了字型檔案的大小,使得本方案更具實用性。 
然後  獲取到三種格式的字型檔案後,下一步要在樣式表中宣告該字型,並在需要的地方使用該字型。   字型宣告如下:

Example Source Code
@font-face { font-family: `fontNameRegular`; src: url(`fontName.eot`); src: local(`fontName Regular`), local(`fontName`), url(`fontName.woff`) format(`woff`), url(`fontName.ttf`) format(`truetype`), url(`fontName.svg#fontName`) format(`svg`); } /*其中fontName替換為你的字型名稱 – 52CSS.com*/

  在頁面中需要的地方使用該字型:

Example Source Code
p { font: 13px fontNameRegular, Arial, sans-serif; } h1{font-family: fontNameRegular}

或者

Example Source Code
<p style=”font-family: fontNameRegular”>掬水月在手,落花香滿衣。</p>
本文轉自寒意部落格園部落格,原文連結:http://www.cnblogs.com/hnyei/archive/2012/02/20/2360306.html,如需轉載請自行聯絡原作者


相關文章