iconfont字體圖標庫

HTML5學堂小編的話:昨日發佈的iconfont的內容有些不足,對於可能不太瞭解iconfont和特殊字體的學習者來講,可能會存在必定的理解問題,在此針對昨日內容進行補充,詳細講解。

字體相關知識
javascript

瞭解iconfont(字體圖標)前咱們先了解下字體,由於iconfont的實現與字體息息相關,因此掌握字體相關知識便於理解iconfont。接下來看一個簡單的例子css

  1. <!doctype html>html

  2. <html>前端

  3. <head>java

  4.  <meta charset="UTF-8">jquery

  5.  <title>HTML5Course - 夢幻雪冰</title>chrome

  6.  <link rel="stylesheet" href="reset.css">瀏覽器

  7.  <script type="text/javascript" src="jquery-1.8.3.min.js"></script>微信

  8.  <style>網絡

  9.   .font-demo p:nth-child(1) {

  10.    font-family: 'Microsoft YaHei';

  11.   }

  12.   .font-demo p:nth-child(2) {

  13.    font-family: Arial;

  14.   }

  15.  </style>

  16. </head>

  17. <body>

  18.  <div class="font-demo">

  19.   <p>HTML5學堂</p>

  20.   <p>摩登足跡</p>

  21.  </div>

  22. </body>

  23. </html>

結果:


分析:

在網頁中,微信小編給段落分別設置了兩個不一樣的字體,頁面上的段落文本就會按照設置的字體進行渲染。你們可能會有一個疑問?爲何字體設置爲Arial頁面展現的文字是Arial的樣式,設置成Microsoft YaHei就展現成Microsoft YaHei的樣式?具體緣由請看下面的例子。

  1. <!doctype html>

  2. <html>

  3. <head>

  4.  <meta charset="UTF-8">

  5.  <title>HTML5Course - 夢幻雪冰</title>

  6.  <link rel="stylesheet" href="reset.css">

  7.  <script type="text/javascript" src="jquery-1.8.3.min.js"></script>

  8.  <style>

  9.   .font-demo p:nth-child(1) {

  10.    font-family: 'Microsoft YaHei';

  11.   }

  12.   .font-demo p:nth-child(1) {

  13.    font-family: 'Arial';

  14.   }


  15.  </style>

  16. </head>

  17. <body>

  18.  <div class="font-demo">

  19.   <p>HTML5 &#x5B66; &#x5802;</p>

  20.   <p>&#x6469;&#x767B;&#x8DB3;&#x8FF9;</p>

  21.  </div>

  22. </body>

  23. </html>

結果:


分析:

1 微信小編把'HTML5學堂'和'摩登足跡'這幾個字改成unicode編碼,此時頁面上仍然能以微軟雅黑字體展現爲HTML5學堂。

2 使用瀏覽器打開頁面時,瀏覽器會解析HTML文件進行渲染。當讀到'HTML5學堂'或者'摩登足跡'字時會轉換成對應的 unicode碼(unicode碼能夠認爲是字的特定編號)。

3 瀏覽器再根據CSS裏面設置的font-family查找對應的字體文件。若是CSS裏面沒有設置字體,就會使用瀏覽器的默認設置。若是有自定義字體@font-face網絡字體,則加載對應字體文件。

4 瀏覽器找到文件後根據unicode碼去查找繪製外形,最後把找到的結果繪製到頁面上。

iconfont是什麼

相信你們看到這邊更進一步瞭解了網頁字體的渲染流程,接下來咱們來看看iconfont。

將iconfont拆開來看,就是icon(圖標)和font(字體)。簡單的說iconfont就是利用字體工具把咱們平時網頁上用的圖形圖標轉換成網頁字體。其實跟字體差很少,字體對應的是文本,iconfont對應的是圖標

iconfont的實際應用

2.1 手機百度首頁


2.2 手機淘寶首頁


iconfont有什麼優點與劣勢

iconfont的優點

一、相比圖片的大小容量,iconfont幾乎是羽翼級輕量。

二、圖標都被打包在字體庫裏面,減小了HTTP的請求數量,加速網頁加載速度。咱們採用雪碧圖的目的也是減小圖片請求數量。

三、使用iconfont很是方便,和設置網頁字體同樣,能夠利用CSS來定義圖標大小、圖標顏色、圖標透明度等

iconfont的劣勢

一、利用CSS沒法方便的定義多彩的icon,大部分是單一顏色。

二、由於iconfont跟字體有關,因此它很容易受到字符編碼的影響。

iconfont的使用

平時的網頁開發該如何使用iconfont?在這邊微信小編給你們推薦一個工具:Iconfont-阿里巴巴矢量圖標庫。


一、打開http://www.iconfont.cn,選擇圖標庫導航(註冊一個帳號,方便操做)。

二、根據項目需求選擇一個圖標庫點擊進去,而後選擇圖標。


三、下載打包好的圖標,裏面包含了圖標庫和代碼實例。

如何在文本或僞元素當中實現iconfont


在網頁當中,經過文原本實現,如上&#xe600;就是用來實現「較粗的關閉」;

在after或before僞元素當中,經過設置content: '\e600'; 來實現「較粗的閉」;

iconfont實戰練習

  1. <!doctype html>

  2. <html>

  3. <head>

  4.  <meta charset="UTF-8">

  5.  <title>HTML5Course - 夢幻雪冰</title>

  6.  <link rel="stylesheet" href="reset.css">

  7.  <script type="text/javascript" src="jquery-1.8.3.min.js"></script>

  8.  <style>

  9.   /*第一步:使用font-face聲明字體*/

  10.   @font-face {

  11.     font-family: 'iconfont';

  12.        src: url('iconfont.eot'); /* IE9*/

  13.        src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */

  14.        url('iconfont.woff') format('woff'), /* chrome、firefox */

  15.        url('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/

  16.        url('iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */

  17.    }

  18.   .font-demo {

  19.     padding: 20px;

  20.   }

  21.   /*第二步:定義使用iconfont的樣式*/

  22.   .font-demo:after {

  23.     font-family: 'iconfont';

  24.     /*第三步:設置圖標對應的編碼,應用於頁面*/

  25.     content: '\e6d4';

  26.   }

  27.  </style>

  28. </head>

  29. <body>

  30.  <div class="font-demo">摩登足跡</div>

  31. </body>

  32. </html>

結果:


問題:如何設置圖標的樣式?好比設置成#09f的樣。

提示:阿里巴巴矢量圖標庫下載的時候提供了詳細的代碼實例。

歡迎溝通交流~HTML5學堂



HTML5學堂

HTML5技術原創分享平臺

加入HTML5學堂

原來技術能夠通俗易懂

每一天 都在爲將來積蓄力量

以爲不錯,您再分享,分享朋友圈也是一種打賞

微信:HTML5_Course 微博:@前端技術分享網

本文分享自微信公衆號 - HTML5 WEB前端分享(h5course-com)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索