字體使用是網頁設計中不可或缺的一部分。經常地,我們希望在網頁中使用某一特定字體,但是該字體並非主流作業系統的內建字體,這樣使用者在瀏覽頁面的時候就有可能看不到真實的設計。美工設計師最常做的辦法是把想要的文字做成圖片,這樣做有幾個明顯缺陷:1. 不可能大範圍的使用該字體;2. 圖片內容相對使用文字不易修改;3. 不利於網站SEO(主流搜尋引擎不會將圖片alt內容作為判斷網頁內容相關性的有效因素)。網路上有一些使用sIFR技術、或javascript/flash hack的方法,但實現起來或繁瑣,或有缺陷。以下要講的是如何只透過CSS的@font-face屬性來實現在網頁中嵌入任意字體。
第一步
取得要使用字體的三種文件格式,確保能在主流瀏覽器中都能正常顯示該字體。
下面要解決的是如何取得到某種字體的這三種格式檔案。一般地,我們在手頭上(或在設計資源網站已經找到)有該字體的某種格式文件,最常見的是.TTF文件,我們需要透過這種文件格式轉換為其餘兩種文件格式。字型檔案格式的轉換可以透過網站FontsQuirrel或onlinefontconverter提供的線上字體轉換服務取得。這裡推薦第一個站點,它允許我們選擇需要的字元生成字體檔案(在服務的最後一個選項),這就大大縮減了字體檔案的大小,使得本方案更具實用性。
第二步
取得三種格式的字體檔案後,下一步要在樣式表中聲明該字體,並在需要的地方使用該字體。
字體聲明如下:
@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替換為你的字體名稱*/
在頁面中需要的地方使用該字體:
p { font: 13px fontNameRegular, Arial, sans-serif; }
h1{font-family: fontNameRegular}
或者
掬水月在手,落花香滿衣
下面是我透過上面兩步驟做的範例:
運行程式碼框
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
http://www.w3.org/1999/xhtml ">
京城有同窗,相約素食閣。
聽者猶未盡,言者語已多。
滿座皆友朋,暢談何民科。
禪中寄小語,慎言且柔和。
[Ctrl+A 全部選擇提示:你可先修改部分程式碼,再按執行]
上面文的字體用的是本部落格之前發佈的一款鋼筆行書字體,喜歡的可以去下載。
下載此範例的原始程式碼: 網頁嵌入字型範例