最近公司的設計人員想要把網站上面的小圖標都改成iconfont,我也作了一篇PPT分享給你們,若是如今不記下來,可能過幾個月就忘得一乾二淨了css
咱們知道,傳統設計的思路是擬物化,就是在電子設備中,模擬真實的世界。好比咱們用的按鈕,會有一些陰影的設計,讓他看起來更像咱們生活中用到的按鈕。可是隨着數字化愈來愈深刻生活,擬物化的缺點也顯現出來。首先就是人們不須要經過擬物來跨越現實世界和數字界面的鴻溝;其次就是信息的冗餘,設計愈來愈專一於擬物的細節,反而沒法凸顯最直觀的功能;最後就是複雜的擬物設計讓人眼花繚亂,總體風格不夠簡潔。由此呢,新的設計理念應運而生,就是扁平化,他的基本理念是:去除冗餘、厚重和繁雜的裝飾效果,從讓「信息」自己從新做爲核心被凸顯出來。最先走出扁平化設計的是微軟,在10年推出的window phone7 ,就用了大量的簡單形狀,移除了複雜的樣式和紋理。三年之後iOS7也採用了這種設計,自此扁平化設計開始在數字化設計用大規模的使用。web
想要在頁面展示一些圖標,傳統的方式使用的就是圖片,可是使用圖片存在許多的弊端,主要表現是下面三個方面chrome
爲了解決以上的問題,一種新的圖標顯示方法應運而生,那就是iconfont。iconfont,顧名思義,就是icon + font,即以字體的方式來顯示圖標,這個十分好理解,由於中文有時候也像一個個小圖形。iconfont能夠完美解決以上的問題,並具備如下的優勢瀏覽器
iconfont一共有三種使用方式,具體參照阿里媽媽圖標庫的官方文檔app
目前咱們系統採用的是這種方式,這種方式的好處就是完美適配IE8,核心的思想就是這兩段代碼svg
@font-face { font-family: "iconfont"; src: url('iconfont.eot?t=1511278425746'); /* IE9*/ src: url('iconfont.eot?t=1511278425746#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAABLQAAsAAAAAHGQ') format('woff'), url('iconfont.ttf?t=1511278425746') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('iconfont.svg?t=1511278425746#iconfont') format('svg'); /* iOS 4.1- */ } .iconfont { font-family:"iconfont" !important; font-size:16px; font-style:normal; -webkit-text-stroke-width: 0.2px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
沒啥好說的和Unicode差很少,只不過用:after僞元素使用,我試了一下,IE8是支持僞元素的。可是不支持大小的修改,因此這種方式只能兼容IE9及以上的方式性能
傳說是將來發展的趨勢,能夠展現多種顏色的圖標。核心的代碼是下面這段字體
.icon { /* 經過設置 font-size 來改變圖標大小 */ width: 1em; height: 1em; /* 圖標和文字相鄰時,垂直對齊 */ vertical-align: -0.15em; /* 經過設置 color 來改變 SVG 的顏色/fill */ fill: currentColor; /* path 和 stroke 溢出 viewBox 部分在 IE 下會顯示 normalize.css 中也包含這行 */ overflow: hidden; }
9月的時候iconfont團隊作過一次改版,他們應廣大技術人員的要求,將woff文件默認轉換成了base64的格式,由於base64將文件直接編碼因此能夠減小一次http請求。原則上IE8 是支持base64的,可是IE8對base64的解碼有限制,若是進行64位編碼後大於32K,則超過32K的部分不能被解碼,我作過實驗,就是使用只有兩個圖標生成的base64,十分短,放在IE8下面是好用的,可是實際項目的文件圖標不少,就沒辦法正常的顯示了。因而我到阿里的網站跟他們說明了狀況,但願他們可以加一個關閉base64的功能,可是阿里的人員跟我說,天貓已經全線放棄IE8了,但願咱們也放棄IE8.因此目前只能手動的將base64轉爲文件的地址,並且後續估計也要一直如此網站
iconfont改完的頁面肉眼可見的美觀了很多,書寫也十分的方便,目前主流的網站大部分都已經使用iconfont了,相信不久的未來他會遍及互聯網的每一個角落編碼