在日常的開(kāi)發(fā)學(xué)習(xí)中 ,我們常常為字體圖標(biāo)而犯難,尤其對(duì)新手來(lái)說(shuō),下面介紹幾種icon的用法,
以阿里的iconfont圖標(biāo)庫(kù)(https://www.iconfont.cn/)為例。
-
第一步 選擇自己喜歡的圖標(biāo) ,添加至自己的倉(cāng)庫(kù)
添加倉(cāng)庫(kù) -
第二部 添加至項(xiàng)目 就可以愉快的玩耍了
添加到項(xiàng)目
總共有三種方式實(shí)現(xiàn) 字體圖標(biāo)
image.png
unicode引用
特點(diǎn) :
- 兼容性最好,支持ie6+,及所有現(xiàn)代瀏覽器。
- 支持按字體的方式去動(dòng)態(tài)調(diào)整圖標(biāo)大小,顏色等等。
- 但是因?yàn)槭亲煮w,所以不支持多色。只能使用平臺(tái)里單色的圖標(biāo),就算項(xiàng)目里有多色圖標(biāo)也會(huì)自動(dòng)去色。
使用步驟 :
- 第一步:拷貝項(xiàng)目下面生成的font-face
@font-face {font-family: 'iconfont';
src: url('iconfont.eot');
src: url('iconfont.eot?#iefix') format('embedded-opentype'),
url('iconfont.woff') format('woff'),
url('iconfont.ttf') format('truetype'),
url('iconfont.svg#iconfont') format('svg');
}
- 第二步:定義使用iconfont的樣式
.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;}
- 第三步:挑選相應(yīng)圖標(biāo)并獲取字體編碼,應(yīng)用于頁(yè)面
<i class="iconfont">3</i>
效果圖如下 以箭頭所示的兩個(gè)圖標(biāo)為例 :

image.png
具體 如下

unicode引用
這種方式 現(xiàn)在不推薦使用 因?yàn)椴恢С植噬?/p>
font-class引用
font-class是unicode使用方式的一種變種,主要是解決unicode書(shū)寫(xiě)不直觀,語(yǔ)意不明確的問(wèn)題。
與unicode使用方式相比,具有如下特點(diǎn):
- 兼容性良好,支持ie8+,及所有現(xiàn)代瀏覽器。
- 相比于unicode語(yǔ)意明確,書(shū)寫(xiě)更直觀??梢院苋菀追直孢@個(gè)icon是什么。
- 因?yàn)槭褂胏lass來(lái)定義圖標(biāo),所以當(dāng)要替換圖標(biāo)時(shí),只需要修改class里面的unicode引用。
- 不過(guò)因?yàn)楸举|(zhì)上還是使用的字體,所以多色圖標(biāo)還是不支持的。
使用步驟如下:
- 第一步:拷貝項(xiàng)目下面生成的fontclass代碼:
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.css
- 第二步:挑選相應(yīng)圖標(biāo)并獲取類名,應(yīng)用于頁(yè)面:
<i class="iconfont icon-xxx"></i>
這種方法應(yīng)用比較廣泛

使用方式
具體效果 如下 :

font-class
symbol引用
這是一種全新的使用方式,應(yīng)該說(shuō)這才是未來(lái)的主流,也是平臺(tái)目前推薦的用法。相關(guān)介紹可以參考這篇文章 這種用法其實(shí)是做了一個(gè)svg的集合,與上面兩種相比具有如下特點(diǎn):
- 支持多色圖標(biāo)了,不再受單色限制。
- 通過(guò)一些技巧,支持像字體那樣,通過(guò)font-size,color來(lái)調(diào)整樣式。
- 兼容性較差,支持 ie9+,及現(xiàn)代瀏覽器。
- 瀏覽器渲染svg的性能一般,還不如png。
使用步驟如下:
- 第一步:拷貝項(xiàng)目下面生成的symbol代碼:
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.js
- 第二步:加入通用css代碼(引入一次就行):
<style type="text/css">
.icon {
width: 1em; height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
</style>
- 第三步:挑選相應(yīng)圖標(biāo)并獲取類名,應(yīng)用于頁(yè)面:
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-xxx"></use>
</svg>
應(yīng)用實(shí)例 如下 :

實(shí)際效果


