SVG Sprite 使用Symbol元素製做ICON

介紹

SVG是一種全新的使用方式,應該說這纔是將來的主流,也是平臺目前推薦的用法。以前寫過兩篇關於CSS icon在頁面顯示的博客,後來瞭解到如今大多數前端團隊和項目都在使用SVG Sprite這種方式進行製做ICON和讓ICON實現頁面顯現。css

SVG有什麼優點和特色?

SVG方法與這兩種相比具備以下特色:html

  • 支持多色圖標了,再也不受單色限制。
  • 經過一些技巧,支持像字體那樣,經過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

<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被怎樣放大,都不會失真和出現鋸齒。
相關文章
相關標籤/搜索