在網頁中嵌入任意字體(特殊字體/自定義字體)的解決方案


字體使用是網頁設計中不可或缺的一部分。經常地,我們希望在網頁中使用某一特定字體,但是該字體並非主流操作系統的內

置字體,這樣用戶在瀏覽頁面的時候就有可能看不到真實的設計。美工設計師最常做的辦法是把想要的文字做成圖片,這樣做

有幾個明顯缺陷: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>


<!--------代碼--如下------>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>在網頁中嵌入任意字體的完整解決方案 - CSS9.NET</title>
<link rel="stylesheet" href="http://www.blueidea.com/articleimg/2009/12/7263/style.css" />

<style type="text/css">
@font-face {
    font-family: 'hakuyoxingshu7000Regular';
    src: url('http://www.blueidea.com/articleimg/2009/12/7263/7000.eot');
    src: local('hakuyoxingshu7000 Regular'), local('hakuyoxingshu7000'), url('http://www.blueidea.com/articleimg/2009/12/7263/7000.ttf') format('truetype'), url('http://www.blueidea.com/articleimg/2009/12/7263/7000.svg#hakuyoxingshu7000') format('svg');
}
#poem{
     font-size:45px;
     font-family:hakuyoxingshu7000Regular;
     text-align:center;
}
#poem p{height:30px;line-height:30px;}
</style>
</head>
<body>
<div id="testdiv">
    <h1>在網頁中嵌入任意字體的完整解決方案 - CSS9.NET</h1>
    <h2>訪問原文: <a href="http://css9.net/css-font-face-solution/">http://css9.net/css-font-face-solution/</a>&nbsp;&nbsp;&nbsp;關注Web前端開發 - <a href="http://css9.net">CSS9.NET</a></h2>
    <div id="poem">
<h3>雲為素食</h3>
<p>京城有同窗,相約素食閣。</p><p>聽者猶未盡,言者語已多。</p><p>滿座皆友朋,暢談何民科。</p><p>禪中寄小語,慎言且柔和。</p>
</div>

</body>
</html>

 

來源:http://wah199.blog.163.com/blog/static/203238110201271110814193/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM