在工做中,我常常會用阿里的IconFont圖標庫,今天發現一個以前沒怎麼注意到的問題。javascript
首先IconFont給咱們提供了三種引用圖標的方式css
unicode是字體在網頁端最原始的應用方式,特色是:java
注意:新版iconfont支持多色圖標,這些多色圖標在unicode模式下將不能使用,若是有需求建議使用symbol的引用方式web
unicode使用步驟以下:瀏覽器
@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{
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;}
<i class="iconfont">3</i>
font-class是unicode使用方式的一種變種,主要是解決unicode書寫不直觀,語意不明確的問題。svg
與unicode使用方式相比,具備以下特色:性能
使用步驟以下:字體
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.css
<i class="iconfont icon-xxx"></i>
這是一種全新的使用方式,應該說這纔是將來的主流,也是平臺目前推薦的用法。相關介紹能夠參考這篇文章 這種用法實際上是作了一個svg的集合,與上面兩種相比具備以下特色:編碼
font-size
,color
來調整樣式。使用步驟以下:url
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.js
<style type="text/css"> .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>上面我標紅的地方就是使用時須要注意的點,今天又一腳踩進坑裏了