iconfont 的使用方法

iconfont 常用的方法有兩種:一種是直接下載到本地,另一種是使用遠程鏈接。

直接下載到本地

把 iconfont 下載到本地,然後把整個文件夾放到自己的項目中。

iconfont 有三種引用方式:Unicode,Font class,Symbol。

Unicode 引用

Unicode 是字體在網頁端最原始的應用方式,特點是:

  • 兼容性最好,支持 IE6+,及所有現代瀏覽器。
  • 支持按字體的方式去動態調整圖標大小,顏色等等。
  • 但是因爲是字體,所以不支持多色。只能使用平臺裏單色的圖標,就算項目裏有多色圖標也會自動去色。

Unicode 使用步驟如下:

第一步:在項目裏引入下載下來的 iconfont.css 文件

第二步:將 Unicode 編碼應用於頁面

<span class="iconfont">&#x33;</span>

使用 Unicode 字體的時候用到的是 iconfont.css 裏的:@font-face 和 .iconfont。

font-class 引用

font-class 是 Unicode 使用方式的一種變種,主要是解決 Unicode 書寫不直觀,語意不明確的問題。

與 Unicode 使用方式相比,具有如下特點:

  • 兼容性良好,支持 IE8+,及所有現代瀏覽器。
  • 相比於 Unicode 語意明確,書寫更直觀。可以很容易分辨這個 icon 是什麼。
  • 因爲使用 class 來定義圖標,所以當要替換圖標時,只需要修改 class 裏面的 Unicode 引用。
  • 不過因爲本質上還是使用的字體,所以多色圖標還是不支持的。

使用步驟如下:

第一步:在項目裏引入下載下來的 iconfont.css 文件

第二步:將類名應用於頁面

<span className="iconfont icon-lixian1"></span>

整個 iconfont.css 文件裏的內容都會用到。

Symbol 引用

這是一種全新的使用方式,應該說這纔是未來的主流,也是 iconfont.cn 平臺目前推薦的用法。這種用法其實是做了一個 SVG 的集合,與另外兩種相比具有如下特點:

  • 支持多色圖標了,不再受單色限制。
  • 通過一些技巧,支持像字體那樣,通過 font-sizecolor 來調整樣式。
  • 兼容性較差,支持 IE9+,及現代瀏覽器。
  • 瀏覽器渲染 SVG 的性能一般,還不如 png。

使用步驟如下:

第一步:在項目裏引入下載下來的 symbol 代碼

<script src="./iconfont.js"></script>

第二步:加入通用 CSS 代碼(引入一次就行)

<style>
.icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
</style>

第三步:將類名應用於頁面

<svg class="icon" aria-hidden="true">
  <use xlink:href="#icon-xxx"></use>
</svg>

使用遠程鏈接

Unicode 方式

在 iconfont.cn 網站添加完圖標以後生成遠程鏈接

注意:在添加完新的 icon 後別忘了刷新遠程鏈接。

然後在項目的 css 中添加如下代碼(@font-face 就是複製的遠程鏈接內容):

@font-face {
    font-family: 'iconfont';  /* project id 989382 */
    src: url('//at.alicdn.com/t/font_989382_9tygr.eot');
    src: url('//at.alicdn.com/t/font_989382_9tygr.eot?#iefix') format('embedded-opentype'),
    url('//at.alicdn.com/t/font_989382_9tygr.woff2') format('woff2'),
    url('//at.alicdn.com/t/font_989382_9tygr.woff') format('woff'),
    url('//at.alicdn.com/t/font_989382_9tygr.ttf') format('truetype'),
    url('//at.alicdn.com/t/font_989382_9tygr.svg#iconfont') format('svg');
  }

.iconfont {
    font-family: 'iconfont' !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;
}

然後開始使用

<span class="iconfont">&#xe8ab;</span>

 

 

 

 

 

 

發佈了122 篇原創文章 · 獲贊 87 · 訪問量 52萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章