字體使用是網頁設計中不可或缺的一部分。經常地,我們希望在網頁中使用某一特定字體,但是該字體并非主流操作系統的內置字體,這樣用戶在瀏覽頁面的時候就有可能看不到真實的設計。美工設計師最常做的辦法是把想要的文字做成圖片,這樣做有幾個明顯缺陷:1. 不可能大范圍的使用該字體;2. 圖片內容相對使用文字不易修改;3. 不利于網站SEO(主流搜索引擎不會將圖片alt內容作為判斷網頁內容相關性的有效因素)。網絡上有一些使用sIFR技術、或javascript/flash hack的方法,但實現起來或繁瑣,或有缺陷。下面要講的是如何只通過CSS的@font-face屬性來實現在網頁中嵌入任意字體。
第一步
獲取要使用字體的三種文件格式,確保能在主流瀏覽器中都能正常顯示該字體。
- .TTF或.OTF,適用于Firefox 3.5、Safari、Opera
- .EOT,適用于Internet Explorer 4.0+
- .SVG,適用于Chrome、IPhone
下面要解決的是如何獲取到某種字體的這三種格式文件。一般地,我們在手頭上(或在設計資源站點已經找到)有該字體的某種格式文件,最常見的是.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}
或者
<p style="font-family: fontNameRegular">掬水月在手,落花香滿衣</p>
下面是我通過上面兩步做的示例:
運行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
上面文中的字體用的是本博客之前發(fā)布的一款鋼筆行書字體,喜歡的可以去下載。
下載該示例的源代碼:網頁嵌入字體示例
原文:http://css9.net/css-font-face-solution/
本文鏈接:http://m.95time.cn/tech/web/2009/7263.asp
出處:css9.net
責任編輯:bluehearts
◎進入論壇網頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|