、svg動(dòng)畫SMIL
SVG采用的是使用文本來(lái)定義圖形,這種文檔結(jié)構(gòu)非常適合于創(chuàng)建動(dòng)畫。要改變圖形的位置、大小和顏色,只需要調(diào)整相應(yīng)的屬性就可以了。事實(shí)上,SVG有為
各種事件處理而專門設(shè)計(jì)的屬性,甚至很多還是專門為動(dòng)畫量身定做的。在SVG中,實(shí)現(xiàn)動(dòng)畫通常使用SVG SMIL animation。 對(duì)svg動(dòng)畫瀏覽器兼容情況: 可以看到ie都不支持svg動(dòng)畫,移動(dòng)端andriod4.1才開(kāi)始支持svg動(dòng)畫。 二、svg動(dòng)畫元素 1. animate元素 4. animateColor元素 5. animateTransform元素 變換動(dòng)畫元素??纯刺厥獾囊恍傩裕?br> type = "translate | scale | rotate | skewX | skewY" 支持動(dòng)畫效果的元素和屬性 animate元素--基本元素動(dòng)畫 <svg width="200" height="200" > <rect x="0" y="40" width="200" height="200" fill="rgba(0,0,0,.4)" /> <text font-family="microsoft yahei" font-size="40" y="80" x="0" fill="red" stroke="green" stroke-width="1"> hello <animate attributeName="x" attributeType="XML" from="0" to="100" begin="0s" dur="2s" repeatCount="indefinite"/> </text> </svg> set動(dòng)畫,可以方便設(shè)置延遲 <!-- set 可以實(shí)現(xiàn)基本的延遲功能 --> <svg width="200" height="200" > <rect x="0" y="40" width="200" height="200" fill="rgba(0,0,0,.4)" /> <text font-family="microsoft yahei" font-size="40" y="80" x="0" fill="red" stroke="green" stroke-width="1"> hello <set attributeName="x" attributeType="XML" to="80" begin="3s" /> </text> </svg> animateMotion動(dòng)畫
animateTransform動(dòng)畫 <svg width="200" height="200" > <rect x="0" y="40" width="200" height="200" fill="rgba(0,0,0,.4)" /> <text font-family="microsoft yahei" font-size="40" y="80" x="0" fill="red" stroke="green" stroke-width="1"> hello <animate attributeName="x" attributeType="XML" from="0" to="100" begin="0s" dur="2s" repeatCount="indefinite"/> <animateTransform attributeName="transform" type="scale" from="1" to="1.2" begin="0s" dur="2s" repeatCount="indefinite"/> </text> </svg> 相關(guān)屬性解釋: attributeName = <attributeName> 要變化的元素屬性名稱,① 可以是元素直接暴露的屬性,例如,對(duì)于本文反復(fù)出現(xiàn)的「馬」對(duì)應(yīng)的 attributeType = “CSS | XML | auto” 這個(gè)屬性指定了屬性取值的命名空間,這幾個(gè)值的含義如下: 注意:如果你不確信某屬性是XML類別還是CSS類別的時(shí)候,我的建議是不設(shè)置 begin = "begin-value-list" dur = Clock-value | "media" | "indefinite" repeatCount = numeric value | "indefinite" repeatDur = Clock-value | "indefinite" fill = "freeze" | "remove(默認(rèn)值)"
參考資料: 突襲HTML5之SVG 2D入門(svg教程寫的很全,推薦指數(shù)5星) SVG 教程(w3school的svg教程,也不錯(cuò)) mozilla svg教程(推薦給喜歡看英文教程的朋友) 超級(jí)強(qiáng)大的SVG SMIL animation動(dòng)畫詳解 知乎上面對(duì)svg的一些討論(大家在使用時(shí),有必要可以看一下) 推薦svg庫(kù): 簡(jiǎn)簡(jiǎn)單單,pfan!出來(lái)混的,一切都是要還的。
分類: svg
標(biāo)簽: svg學(xué)習(xí)筆錄, svg |
|
來(lái)自: 昵稱10504424 > 《工作》