主要內容
CSS 結合 SVG 生成動畫css
SVG ,可縮放矢量圖形(Scalable Vector Graphics),是一種用來描述二維矢量圖形的 XML 標記語言。 簡單地說,SVG 面向圖形,HTML 面向文本。git
IE9+,主流環境基本都能支持。具體參見github
做爲圖片文件
img src屬性引用,css background-image引用。瀏覽器
SVG做爲圖像引用時,大多數瀏覽器不會加載SVG自身引用的文件(其餘圖像,外部腳本,字體文件等),依據瀏覽器的安全策略,SVG中定義的腳本也可能不會執行。
做爲應用程序
SVG文件也能夠做爲<object>元素的data屬性引入HTML中。注意,MIME type必須是image/svg+xml。安全
<object data="image.svg" type="image/svg+xml"> ... </object>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1024px" height="1024px"> </svg>
<rect x="60" y="10" rx="20" ry="40" width="100" height="100"/>
<circle cx="75" cy="75" r="60"/>
<ellipse cx="75" cy="75" rx="30" ry="20"/>
<line x1="10" x2="50" y1="110" y2="150" stroke="black" stroke-width="3"/>
<polyline points="60 60, 70 120, 80 130, 70 70" style="fill: none;stroke-width: 2;stroke: black;"/>
polygon和折線很像,它們都是由鏈接一組點集的直線構成。不一樣的是,polygon的路徑在最後一個點處自動回到第一個點。svg
<polygon points="50 160, 55 180, 70 180, 60 190, 65 205, 50 195, 35 205, 40 190, 30 180, 45 180" style="fill: none;stroke: black;"/>
<path d="M 20 230 Q 40 205, 50 230 T 90230" style="fill: none;stroke: black"/>
路徑繪製命令wordpress
SVG經常使用元素還有<g>組合,經常使用屬性fill填充,stroke線條顏色,stroke-width線條粗細等等,具體參考MDN文檔。
SVG 元素參考
SVG 屬性參考工具
stroke-dasharray可控制用來描邊的點劃線的圖案範式。
stroke-dashoffset 屬性指定了dash模式到路徑開始的距離
畫圓環的動畫效果,可用於提示加載百分比,倒計時等場景。
https://codepen.io/wishingtre...字體
logo描邊動畫
logo描邊動畫2][7]動畫
兼容性:ie死都不支持,移動端友好。 具體參見
set元素不能產生動畫效果,能夠實現基本的延遲功能。就是指:能夠在特定時間以後修改某個屬性值(包括自己的XML屬性和CSS屬性值)。
attributeName 變更的屬性的屬性名。
from 變更的初始值。
to 變更的終值。
dur 動畫的持續時間。
舉個栗子
形狀補間動畫
attributeName固定爲transform,可針對transform的相關屬性生成動畫,不詳細介紹了。
animateMotion 元素能夠讓SVG各類圖形沿着特定的path路徑運動。
地球圍繞太陽旋轉
貼合路徑弧度運動
SVG動畫庫:
1.SVG-Morpheus
使用參考
演示參考
2.snap.svg