線が描かれる・文字が書かれる・道すじを進む・形が変わる・グラフが伸びる・波が揺れるなど、SVGと図形の動きを10種類の型に分け、AIへの指示文・試せる見本・コードを載せています。見本の下で時間や速さを変えると、指示文とコードも同じものに変わります。
SVG・図形の動きはどの型を選ぶか
SVG の動きは、線を描くもの・形が動くもの・数字を見せるもの・背景や区切りの4つに分かれます。線を描く型と数字を見せる型は、画面に入ったときに1回だけ動かします。背景や区切りの型は動き続けるので、止める手段を付け、1ページに1か所までにします。
| こんなとき | 向いている動き | 形の型(UIパターン集) |
|---|---|---|
| ロゴやイラストを、ペンで描くように見せたい | 線が描かれるように引かれる(線画アニメーション) | — |
| 代表のあいさつの結びに、サインを書き入れたい | 手書きの文字が書き順どおりに書かれる(手書きアニメーション) | 著者・監修者ボックス |
| フォームを送ったことを、はっきり伝えたい | 円が描かれ、中にチェックが引かれる(チェックマークアニメーション) | フォーム(送信完了) |
| 配送の経路や手続きの流れを、「どこからどこへ」で見せたい | 決めた道すじに沿って進む(パスアニメーション) | フロー |
| 再生⇄一時停止のように、押すたびにアイコンの意味が変わる | アイコンが別の形に変わる(モーフィング) | — |
| ファーストビューに、雑誌のような目印のバッジを置きたい | 円に沿って並んだ文字がゆっくり回る(サークルテキスト) | — |
| 図形でできたロゴを、部品から組み上がるように見せたい | 丸・三角・四角が順に組み上がる(ジオメトリックアニメーション) | — |
| 実績やアンケートの数字を、グラフで見せたい | 棒グラフが伸び、円グラフが埋まる(グラフアニメーション)。数字そのものは数字が数え上がる | — |
| 写真の少ないセクションに、やわらかい印象を少しだけ足したい | 不定形の図形がゆっくり形を変え続ける(ブロブアニメーション) | — |
| セクションの境目を、まっすぐな線より柔らかく見せたい | セクションの境目の波がゆっくり揺れる(ウェーブアニメーション) | — |
ハンバーガーメニューの3本線が×に変わる動きは、形を変えずに線を回すだけで作れるので、部品の動きのハンバーガーメニューアニメーションにまとめています。
どの型でも守ること
- 描く前を隠す指定は、JavaScript が付ける class の下に書く。JavaScript が動かない環境でも、描き終わった線・組み上がった絵・伸びきったグラフが見えるようにします。
- 線は
pathLength="1"で描く。stroke-dasharray: 1 1とstroke-dashoffset: 1 → 0だけで、どの長さの線も同じ書き方で描けます。描く前はvisibility: hiddenにして、端の丸い点が先に見えないようにします。 - 線や形(
d)を動かす型は、数を絞る。stroke-dashoffsetやdの動きは描き直しが走ります。1つの絵の線は10本くらいまで、同時に動かす絵は1つまでにし、動き続けるものはtransformだけで作ります。 - 意味のある図は文言でも伝える。図の
svgにはrole="img"とaria-label、グラフには同じ数値の表、送信完了には見出しの文言を付けます。飾りだけの図形はaria-hidden="true"にします。 - 動き続けるものは止められるようにする。サークルテキスト・ブロブ・ウェーブには止めるボタンを付け、画面の外では止め、動きを控える設定では止まった絵にします。どれも1ページに1か所までです。