どもです。ついこの間なのですが、スプライト画像を使ったCSSアニメーションをやってみました。
Photoshopで今まではフレームアニメーションを使っていましたが、ビデオタイムラインを使って制作。AfterEffectsいじってたお陰か問題なく操作ができました。
今回は別に作った画像を使って、アニメーションが出来るまでの過程を紹介したいと思います。
上のような画像を準備します。
自分の場合、Photoshopで縦横80pxのアニメーションを作った後、1フレームずつ画像を書き出します。そして書きだした画像を横につなげる事で上の画像ができました。
あまり枚数があると作業量とデータサイズがとんでもないので注意が必要です。
1 2 3 4 |
<div id="box"> <h1>アニメーション</h1> <div id="animation"></div> </div> |
HTMLには上記のものが入ります。
「div#animation」の中でアニメーションが表示されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
/* レイアウト用 */ #box { margin-top: 200px; } #box h1{ margin-bottom: 40px; text-align: center; } #box #animation { width: 80px; height: 80px; margin: 0 auto; overflow: hidden; background: url(../img/animation.png) 0 0 no-repeat; } /* アニメーション */ #animation { animation: sprite 0.5s steps(9, start) infinite ; } @keyframes sprite { 0% {background-position: 0 0;} 100% {background-position: -720px 0;} } |
上のCSSを記述します。
今回の設定では、0.5秒間の間に0pxから-720pxまで9回のステップに分けて、アニメーションが行われるようになっています。
上記の設定の場合80pxずつ、background-positionが移動されてることになります。
完成したアニメーションは、以下から確認ができます。
作るまでが少し大変ですが、出来るようなってくるとアニメーションを作るのが楽しくなってくると思います。
Photoshop以外のツールも使って見ていて気持ちいいアニメーションを作ってみたいですね!それでは~
ホームページに関するお悩みは、仙台のホームページ制作アド・エータイプにお任せください!