CSSのモーションパスで簡単に好きな軌道でアニメーションを動かす
WWEBのこと
最近、一歳になった息子が電車に興味津々です。
そこで電車をCSSアニメーションで作れないか調べたところ、
モーションパス (Motion Path)で簡単に好きな経路で対象を動かすアニメーションが作れると知りました。
▼作ってみた電車のアニメーションがこちら
(若干コードが汚いので参考程度に見てください;)
線路がガタガタで周囲の景観も不穏ですが、一先ず電車が走っていますね!
見せたら息子も喜んでくれました。
(とくに電車が『くるっ!』と回転する部分が好きなようでした)
モーションパスとは
モーションパス (Motion Path) は CSS のモジュールの一つで、任意のグラフィックオブジェクトを独自の経路に沿って動作させるためのものです。
線路に沿って進む電車のように、モーションパスを使えば容易に自由な経路でオブジェクトを動かすことができます。
基本的な記述方法
① offset-pathで動かす経路を設定する
動かす対象に対してoffset-pathプロパティを設定します。
offset-path プロパティには任意の形状の動かしたい形の経路をpath()で定義します。
path()はillustratorなどを利用してSVG画像を書き出して利用すると容易に書き出せます。
書き出したSVG画像をコードエディタで開き、
offset-path: path(‘※ここにコピペ’);
↓
offset-path: path(‘M20,20 C20,100 200,0 200,100’);
これで対象を動かす経路が設定できました。
実際に動かすにはoffset-distanceプロパティの設定が必要になります。
② offset-distanceで対象を動かす
offset-distanceプロパティはoffset-path上の要素を配置する位置を指定するプロパティです。
animationプロパティと組み合わせれば、配置する位置を変えることでアニメーションさせることができます。
animation: move 10s linear infinite;
@keyframes move {
0% {
offset-distance: 0%;
}
100% {
offset-distance: 100%;
}
}
こんな感じでcssを準備して動かしたのが例の電車です。
とても簡単に対象を動かすアニメーションを実装できるモーションパスですが、
まだブラウザでサポートしていないプロパティもあるので利用には注意が必要です。
実装の手軽さゆえに活用できる場面が増えればいいなと思います。
CSS モーションパス
-
人気の記事
-
新着記事
-
濃厚生クリームソース×スパイス香る粗挽き肉。長野市青木島町の『tone cafe』に新ランチ「フレンチトースト」が登場!
POSTED | 2025.11.17
-
上田市・別所温泉の北向観音で御開帳へ!参拝後に立ち寄りたいおすすめカフェもご紹介
POSTED | 2025.10.28
-
一般社団法人あいのて様が会社見学に来てくださいました。
POSTED | 2025.10.24
-
長野市の複合施設 tone village 内の『tone cafe』で生まれる、おいしい出会いの空気
POSTED | 2025.10.22
-
在宅ワークで見守れた3年間。るなぱあくで感じた“働く時間と、家族の時間”
POSTED | 2025.10.20
-
-
カテゴリー
offset-path: path(‘M20,20 C20,100 200,0 200,100’);