SVG 漸變動畫效果

admin發表於2018-09-13

漸變動畫和其他普通動畫原理是一樣的,之所以單獨介紹,是因為很多朋友習慣實現座標或者尺寸改變類似的動畫,而忽略了漸變動畫效果。

關於動畫的更多內容可以參閱SVG animation動畫詳解一章節。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
* {
  margin: 0px;
  padding: 0px;
}
svg {
  border:1px solid blue;
  margin:50px;
}
</style>
</head>
<body>
<svg width="300" height="300" >
  <radialGradient
                  id="gr-radial"
                  cx="50%" cy="50%"
                  r="70%">
    <animate attributeName="r"
             values="0%;150%;100%;0%"
             dur="5s"
             repeatCount="indefinite" />
 
    <stop stop-color="#FFF" offset="0">
      <animate attributeName="stop-color"
               values=\"#333;#FFF;#FFF;#333"
               dur="5s"
               repeatCount="indefinite" />
    </stop>
    <stop stop-color="rgba(55,55,55,0)" offset="100%" />
  </radialGradient>
  <circle cx="50%" cy="50%"
          r="50%"
          fill="url(#gr-radial)"/>
</svg>
</body>
</html>

漸變動畫和其他動畫並無二致,關於漸變效果可以參閱下面兩篇文章:

(1).線性漸變參閱SVG <linearGradient>線性漸變一章節。

(2).徑向漸變參閱SVG <radialGradient>徑向漸變一章節。

相關文章