關鍵樣條
keySplines 屬性定義了一組與 keyTimes 列表相關聯的 貝塞爾曲線 控制點,定義了一個控制間隔節奏的三次貝塞爾函式。
除非將 calcMode 屬性設定為 spline,否則將忽略此屬性。
如果 keySplines 規範中存在任何錯誤(值無效、值過多或值過少),動畫將不會發生。
你可以將此屬性與以下 SVG 元素一起使用
示例
html
<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<circle cx="60" cy="10" r="10">
<animate
attributeName="cx"
dur="4s"
calcMode="spline"
repeatCount="indefinite"
values="60; 110; 60; 10; 60"
keyTimes="0; 0.25; 0.5; 0.75; 1"
keySplines="0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1" />
<animate
attributeName="cy"
dur="4s"
calcMode="spline"
repeatCount="indefinite"
values="10; 60; 110; 60; 10"
keyTimes="0; 0.25; 0.5; 0.75; 1"
keySplines="0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1" />
</circle>
</svg>
用法說明
| 值 |
<control-point> [ ; <control-point> ]* ;? |
|---|---|
| 預設值 | None |
| 可動畫的 | 否 |
屬性值是分號分隔的控制點描述列表。
<control-point>-
每個控制點描述是一組四個值:
x1 y1 x2 y2,用於描述一個時間段的貝塞爾控制點。定義相關時間段的keyTimes值是貝塞爾“錨點”,而keySplines值是控制點。因此,控制點集數必須比keyTimes少一個。x1 y1 x2 y2的值必須都在 0 到 1 的範圍內。 - Safari 問題
-
keyTimes值應使用分號分隔,前面沒有空格,例如:keyTimes="0; 0.25; 0.5; 0.75; 1"
規範
| 規範 |
|---|
| SVG 動畫級別 2 # KeySplinesAttribute |