CSSだけで要素が回転するアニメーションを作成してみましょう!
コピペするだけで動く縦・横・全体の回転方法を紹介します。
CSSでは@keyframes
でアニメーションのタイムラインを指定出来ます。
ここにいろいろ書くと拡大しながら回転したり、フェードインしたり表現できます。
今回は回転だけですが、アニメーションの方法についてはまたサンプルを作りたいなぁと思っています。
縦回転
@keyframes rotate-x{
0%{transform:rotateX(0deg);}
100%{transform:rotateX(360deg);}
}
@-webkit-keyframes rotate-x{
0%{-webkit-transform:rotateX(0deg);}
100%{-webkit-transform:rotateX(360deg);}
}
.★回転させたい要素★{
animation:rotate-x 2s infinite;
-webkit-animation:rotate-x 2s infinite;
}
結果
@keyframes
を使って名前rotate-x
はx軸(縦)を0から360度回転させるよと命令を出しています。
それを回転させたい要素側のanimation
タグで名前rotate-x
を呼び出して2s
2秒かけてinfinite
無限にアニメーションすると宣言しています。
横回転
@keyframes rotate-y{
0%{transform:rotateY(0deg);}
100%{transform:rotateY(360deg);}
}
@-webkit-keyframes rotate-x{
0%{-webkit-transform:rotateY(0deg);}
100%{-webkit-transform:rotateY(360deg);}
}
.★回転させたい要素★{
animation:rotate-y 2s infinite;
-webkit-animation:rotate-y 2s infinite;
}
結果
@keyframes
を使って名前rotate-y
はy軸(横)を0から360度回転させるよと命令を出しています。
それを回転させたい要素側のanimation
タグで名前rotate-y
を呼び出して2s
2秒かけてinfinite
無限にアニメーションすると宣言しています。
全回転
@keyframes rotate-z{
0%{transform:rotateZ(0deg);}
100%{transform:rotateZ(360deg);}
}
@-webkit-keyframes rotate-x{
0%{-webkit-transform:rotateZ(0deg);}
100%{-webkit-transform:rotateZ(360deg);}
}
.★回転させたい要素★{
animation:rotate-z 2s infinite;
-webkit-animation:rotate-z 2s infinite;
}
結果
@keyframes
を使って名前rotate-z
はz軸(全体)を0から360度回転させるよと命令を出しています。
それを回転させたい要素側のanimation
タグで名前rotate-z
を呼び出して2s
2秒かけてinfinite
無限にアニメーションすると宣言しています。
まとめ
:hover
と組み合わせたり、animation-delay
を使って遅らせ表示したり、animation-iteration-count
でループ回数を指定してみたり、アレンジ方法は無限大です。
楽しいアニメーションを効果的に使える場所も考えて実装してみてくださいね!