今回はCSSだけで作る@keyframesを使用した立体的に回転し続けるアニメーションを3つご紹介します。
@keyframesのプロパティのanimation-durationやanimation-timing-function、animation-iteration-count: infinite;など5種類を使用して、初めての方でも理解できるように@keyframesをわかりやすく解説しています。
transform:rotate3dで立体的な回転エフェクトとinfiniteで永遠に回転し続けるCSSアニメーションを実現しました。
htmlとcssだけしか使っていません。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。
こちらのデザイン・コードはすべて完全オリジナルなのでコピペ大歓迎です。
この記事の目次
@keyframesとtransform:rotate3dの立体的に回転するCSSアニメーション3選
目次
1. 【@keyframes&rotate3d】ボックスが立体的に回転し続ける使いやすいCSSアニメーション
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- @keyframesを使いアニメーションで実行されるプロパティと開始から終了までの期間をパーセントで指定
- @keyframesでtransform:rotate3dを最大720°まで9分割して回転角度を各時点で変えることで滑らかな立体的な回転アニメーションを実現(transformの使い方については【transform完全網羅】hoverで動き出す!transformを網羅できるCSSボタンアニメーション16選)
- animation-durationでアニメーションにかかる時間を指定
- animation-timing-function: linearでアニメーションの進行の度合いを指定し、linearで開始から終了までを一定に変化(滑らかなアニメーションになる)するよう指定
- animation-direction: normalでアニメーションの再生方向を指定し、normalでアニメーションが同じ方向に繰り返すよう指定
- animation-iteration-count: infiniteでアニメーションの繰り返し回数をinfiniteに指定して無限に繰り返すアニメーションを実現
- animation-nameを@keyframeのアニメーションを使用したい要素の中で名前を指定
- display:flexでcontainerの中身をど真ん中に設置
2. 【@keyframes&rotate3d】ボックスが途中で回転角度を変えながら立体的に回転し続けるCSSアニメーション
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- @keyframesを使いアニメーションで実行されるプロパティと開始から終了までの期間をパーセントで指定
- @keyframesでtransform:rotate3dを最大360°まで9分割して回転角度を各時点で変えることで滑らかな立体的な回転アニメーションを実現(transformの使い方については【transform完全網羅】hoverで動き出す!transformを網羅できるCSSボタンアニメーション16選)
- transform:rotate3dの回転角度を@keyframesの50%地点で折り返すよう値を調整
- animation-durationでアニメーションにかかる時間を指定
- animation-timing-function: linearでアニメーションの進行の度合いを指定し、linearで開始から終了までを一定に変化(滑らかなアニメーションになる)するよう指定
- animation-direction: normalでアニメーションの再生方向を指定し、normalでアニメーションが同じ方向に繰り返すよう指定
- animation-iteration-count: infiniteでアニメーションの繰り返し回数をinfiniteに指定して無限に繰り返すアニメーションを実現
- animation-nameを@keyframeのアニメーションを使用したい要素の中で名前を指定
- display:flexでcontainerの中身をど真ん中に設置
3. 【@keyframes&rotate3d&scale】ボックスが超拡大しながら立体的に回転し続けるCSSアニメーション
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- @keyframesを使いアニメーションで実行されるプロパティと開始から終了までの期間をパーセントで指定
- @keyframesでtransform:rotate3dを最大720°まで9分割して回転角度を各時点で変え、scaleで伸縮率を各時点で変えることで滑らかな立体的な回転アニメーションを実現(transformの使い方については【transform完全網羅】hoverで動き出す!transformを網羅できるCSSボタンアニメーション16選)
- transform:scaleの伸縮率を@keyframesの50%地点で折り返すよう値を調整
- animation-durationでアニメーションにかかる時間を指定
- animation-timing-function: linearでアニメーションの進行の度合いを指定し、linearで開始から終了までを一定に変化(滑らかなアニメーションになる)するよう指定
- animation-direction: normalでアニメーションの再生方向を指定し、normalでアニメーションが同じ方向に繰り返すよう指定
- animation-iteration-count: infiniteでアニメーションの繰り返し回数をinfiniteに指定して無限に繰り返すアニメーションを実現
- animation-nameを@keyframeのアニメーションを使用したい要素の中で名前を指定
- display:flexでcontainerの中身をど真ん中に設置
【初心者向け】失敗しないプログラミングTIPS
そもそもWebデザインの基礎がわからない。。
そんなあなたには『Udemy』
未経験からWeb制作で月50万稼げるようになったUdemy教材3選
でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたには『ProEngineer』
完全無料で一人前のエンジニアになれるプログラミングスクール【ProEngineer】