首先你要有一個圖標庫的賬號,我們使用的是阿里矢量圖標庫,其次你要有一套已經設計好的圖標原圖。如果你具備了這些,就可以和我一起看iconfont的使用姿勢了。
寫在前面
- 不結合其他矢量庫或UI框架一起使用的方法,可以參照官網的指示進行操作:http://iconfont.cn/plus/help/detail?helptype=code 也可以在稍后下載到本地的官方demo中學習如何使用。
- 如果結合其他矢量庫一起使用則有一些需要注意的問題和一些操作。我們的項目是用的ant design,因此本文記錄和ant design結合使用
使用方法:
1. 登錄賬號並找到我的項目
如果還沒有自己的項目,點擊添加項目
如何上傳圖標請參照官網進行操作,可以由設計師直接上傳也可以由程序員上傳。
http://iconfont.cn/plus/help/detail?helptype=about
要點說明:
新建項目時FontClass/Symbol前綴
和Font Family
字段的填寫很重要,后面會講解用途
2.將圖標下載到本地
你會得到如下文件:
其中demo.css
,demo_fontclass
,demo_symbol
,demo_unicode
詳細演示了三種的使用方法。
要點說明:
如果和ant design結合使用,這個前綴一定要寫為anticon
,因為在使用其圖標寫法時會自動給圖標加上anticon前綴。如下圖官網描述:
3. 整合進項目中
首先將下載的圖標文件放進項目相應靜態文件夾中。
我們使用的是fontclass方式,因此,需要在整個項目的css中引入iconfont.css
然后想要拓展ant design的圖標庫就需要看一下它是如何使用的。最終我找到了兩個關鍵的文件:/node_modules/antd/lib/style/core/iconfont.less
,/node_modules/antd/lib/style/mixins/iconfont.less
,當看到第一個文件和咱們下載下來的iconfont.css文件如此相似,真是放心了一大半。
最后在另一個能覆蓋掉自帶樣式的文件中添加如下代碼
這樣可以告訴系統先用anticon_user(還記得這個是新建項目時定義的字體名稱吧)字體,沒有的話再用anticon(ant design定義的)字體
注意:ant design的圖標都是\e600多,如下圖,因此你自己的圖標的Unicode(16進制)定義的時候一定不要和原始的重復,否則會產生不必要的麻煩。