介紹
SVG是一種全新的使用方式,應該說這才是未來的主流,也是平台目前推薦的用法。之前寫過兩篇關於CSS icon在頁面顯示的博客,后來了解到現在大多數前端團隊和項目都在使用SVG Sprite這種方式進行制作ICON和讓ICON實現頁面顯現。
SVG有什么優勢和特點?
SVG方法與這兩種相比具有如下特點:
- 支持多色圖標了,不再受單色限制。
- 通過一些技巧,支持像字體那樣,通過
font-size,color來調整樣式。 - 兼容性較差,支持 ie9+,及現代瀏覽器。
- 瀏覽器渲染svg的性能一般,還不如png。
使用方法和步驟
在之前關於字體圖標的三兩事當中我們講過了Unicode和Font class獲取連接地址並進行字體設置的方法,我們回到阿里圖標庫,在篩選好了我們項目需要的圖標並修改好他們的名稱之后,這次選擇symbol,並復制他的代碼。
選擇Symbol
第一步:拷貝項目下面生成的symbol代碼到HTML文件head的<script></script>中://at.alicdn.com/t/font_732020_vyfui00rk3.js
這里同樣跟之前一樣,要注意協議,最好直接在前面加上https。
即
<script src="https://at.alicdn.com/t/font_732020_vyfui00rk3.js"></script>
第二步:加入通用css代碼(引入一次就行):
<style type="text/css"> .icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; } </style>
第三步:挑選相應圖標並獲取類名,應用於頁面:
例如我們要加入一個之前命名為icon-weixin1的微信圖標,就在body中加入這段<svg></svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-weixin1"></use>
</svg>
Demo
代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="https://at.alicdn.com/t/font_732020_vyfui00rk3.js"></script> <style type="text/css"> .icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; } </style> <title> css-sprite-demo-v2 </title> </head> <body> <svg class="icon" aria-hidden="true"> <use xlink:href="#icon-weixin1"></use> </svg> <svg class="icon" aria-hidden="true"> <use xlink:href="#icon-weixin2"></use> </svg> <svg class="icon"> <use xlink:href="#icon-weibo1">333</use> </svg> </body> </html>
預覽效果:
http://jsbin.com/qovicalote/edit?html,output
我們可以清楚的看到及時ICON被怎樣放大,都不會失真和出現鋸齒。
