CSS3字體
CSS3 字體
在網頁中,我們可以用CSS的font-family屬性來定義字體,然而定義的字體在使用者的電腦上能否正確呈現則要看使用者的電腦是否安裝了該字型。我們常常可以看到國外一些個人的網站使用了非常漂亮的字體,而這些字體通常在使用者的電腦中是沒有安裝的,所以用font-family屬性就無法實現了,今天我們就介紹使用@font- face實現個性化字體。
說@font-face是CSS3的新特性並不準確,因為CSS2就已經支援了這個特性,而Internet Explorer早在第5版的時候就已經支援它了,不過IE實作方式是透過自有的eot(Embeded Open Type)字型格式,其它瀏覽器都不支援這個格式。 @font-face支援以下屬性:
font-family:設定文字的字體名稱。
font-style:設定文字樣式。
font-variant:設定文字是否大小寫。
font-weight:設定文字的粗細。
font-stretch:設定文字是否橫向的拉伸變形。
font-size:設定文字字體大小。
src:設定自訂字體的相對路徑或絕對路徑。
使用您需要的字體
在新的@font-face 規則中,您必須先定義字體的名稱(例如myFirstFont),然後指向該字體文件。
提示:URL請使用小寫字母的字體,大寫字母在IE中會產生意外的結果
#如需為HTML 元素使用字體,請透過font-family 屬性來引用字體的名稱(myFirstFont):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> @font-face { font-family: myFirstFont; src: url('Sansation_Light.ttf') ,url('Sansation_Light.eot'); /* IE9 */ } div { font-family:myFirstFont; } </style> </head> <body> <p><b>注意:</b> Internet Explorer 9 只支持 .eot 格式的字体.</p> <div> 使用CSS3,网站终于可以使用字体以外的预先选择“合法”字体 </div> </body> </html>
想要豐富多彩的頁面就需要有更多的字體樣式,人們想出了很多字體替代方案,除了@font-face方案外還有sIFR、Cufon、Typeface.js等,還有.webfont,簡單說,.webfont 就是在字體中嵌入了訪問許可表,瀏覽器可以讀出這些許可訊息,並決定是否應該下載和渲染這些字體。另外還有Typekit也是值得關注的方案,將字體放在第三方伺服器上供呼叫。這些方案的優缺點,將在以後做詳細的介紹。