iconfont 常用的方法有兩種:一種是直接下載到本地,另一種是使用遠程鏈接。
直接下載到本地
把 iconfont 下載到本地,然後把整個文件夾放到自己的項目中。
iconfont 有三種引用方式:Unicode,Font class,Symbol。
Unicode 引用
Unicode 是字體在網頁端最原始的應用方式,特點是:
- 兼容性最好,支持 IE6+,及所有現代瀏覽器。
- 支持按字體的方式去動態調整圖標大小,顏色等等。
- 但是因爲是字體,所以不支持多色。只能使用平臺裏單色的圖標,就算項目裏有多色圖標也會自動去色。
Unicode 使用步驟如下:
第一步:在項目裏引入下載下來的 iconfont.css 文件
第二步:將 Unicode 編碼應用於頁面
<span class="iconfont">3</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-size
,color
來調整樣式。 - 兼容性較差,支持 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"></span>