程式課程選達內 -
美國上市IT教育集團

0800-777-100


週一到週五 09:00~21:00 週六到週日 09:00~18:00

熱門課程

前端工程師HTML5入門課程(11)-SVG 基本圖形動畫與路徑動畫

  • 時間:2019-07-11
  • 發布:達內教育台灣
  • 來源:達內教育台灣 > 知識庫 > 前端工程師/網頁設計教學

SVG 基本圖形動畫

我們可以使用 <animate> 元素來繪製 SVG 動畫。

今天我們先來繪製一個方形,並且將動作設定在三秒鐘內往右移動,然後會重複相同的動作 3 次。HTML5 原始碼與結果如下所示:

See the Pen SVG 基本圖形動畫 by Tedutw (@Tedutw) on CodePen.

以上所有的 HTML5 標籤說明如下:

  • <attributeName>
    屬性名稱,就是當你指定了這個屬性,就會以這個屬性去做動作。在本例中指定紫色方塊要水平位移,水平移動的座標為 x,所以該例中 attributeName 為 x。若為垂直移動的話,attributeName 則為 y。
  • <from>
    動畫開始時的屬性值。
  • <to>
    結束動畫時的屬性值。
  • <dur>
    動畫持續時間。
  • <repeatCount>
    動畫重複次數。在本例中重複 3 次所以 repeatCount 設為 3;若要動畫無限重複的話, repeatCount 則設為 indefinite。
  • <fill (freeze | remove)>
    這裡的 fill 不代表填色,而是指定動畫結束時的屬性,屬性可選 freeze 或是 remove,remove 是預設值,也就是動畫結束之後,圖形返回原本的狀態,而 freeze 則是在動畫結束後,固定在結束的狀態

SVG 路徑動畫

我們可以使用 <path> 元素來定義路徑。

SVG Path 基本指令列表

  • M
    起始點的 x,y 座標 (move to)
  • L
    從「目前的點」的座標畫直線,到指定點的 x,y 座標 (line to)
  • See the Pen SVG Path 基本指令-L by Tedutw (@Tedutw) on CodePen.

  • H
    從「目前的點」的座標畫水平線,到指定的 x 座標 (horizontal line to)
  • See the Pen SVG Path 基本指令-H by Tedutw (@Tedutw) on CodePen.

  • V
    從「目前的點」的座標畫垂直線,到指定的 y 軸座標 (vertical line to)
  • See the Pen SVG Path 基本指令-Y by Tedutw (@Tedutw) on CodePen.

  • C
    從「目前的點」的座標,畫條貝茲曲線,到指定點的 x,y 座標。如下圖的曲線,C 的部分會有三組 x,y 座標:其中第一組以及第二組 x,y 座標為控制曲線的形狀用,最後一組為終點座標。
  • See the Pen SVG Path 基本指令-C by Tedutw (@Tedutw) on CodePen.

  • S
    S 可以從「目前的點」之後,再建立一個座標。這個新增的座標帶有一條貝茲曲線與「目前的點」連結。神奇的是,這個貝茲曲線的形狀,就是這個「目前的點」的鏡射線。聽起來很難懂,看下面的例子就知道了。

  • (圖片取自:iT邦幫忙)

      <path D="M0 0 C40 40,60 40,100,0 S150 -40, 200 0" stroke="black" fill="none"/>
    

  • Q
    Q 就是起點和終點的貝茲曲線共用同一個控制點,只需要有貝茲控制點的座標和終點座標即可。
  • See the Pen SVG Path 基本指令-Q by Tedutw (@Tedutw) on CodePen.

  • T
    T 只有一組參數 x,y ,表示終點的座標,所以 T 的前方要接上 Q 才能畫出對應的座標線。
  • See the Pen SVG Path 基本指令-T by Tedutw (@Tedutw) on CodePen.

  • Z
    關閉路徑,將「目前的點」的座標與第一個點的座標連接起來 (closepath)
  • See the Pen SVG Path 基本指令-Z by Tedutw (@Tedutw) on CodePen.

上一篇:前端工程師HTML5入門課程(6)-progress載入進度顯示條
下一篇:前端工程師HTML5入門課程(2)-HTML5新增header,nav與footer元素
使用平板電腦搜尋網頁的使用者圖片|SEO優化|達內教育

2018年SEO八部曲之1-秒懂你的使用者

等網頁Loading等到想睡著的男性圖片|SEO優化|達內教育

2018年SEO 8部曲之2-你的網頁夠快嗎?

使用Macbook搜尋網頁的貓咪圖片|SEO優化|達內教育

2018年SEO 8部曲之3-Title與Meta Description還是要做SEO優化

使用Macbook搜尋網頁的貓咪圖片|SEO優化|達內教育

2018年SEO 8部曲之4-原來URL也可以做SEO優化

使用Macbook搜尋網頁的貓咪圖片|SEO優化|達內教育

2018年SEO八部曲之5-圖片的 SEO 優化

使用平板電腦搜尋網頁的使用者圖片|SEO優化|達內教育

2018年SEO八部曲之7-Schema結構化資料

 

選擇城市和中心
貴州省

廣西省

海南省