【CSSアニメーション】要素を回転させる方法を解説します。

CSS Web制作 アニメーション

【CSSアニメーション】要素を回転させる方法を解説します。

なやむくん
CSSだけで要素を回転させる方法を知りたい
なやむさん
要素を回転させた見せ方を表現したい

などの疑問や悩みを解決してまいります。

サイトの種類によって要素を回転させて表示させたいということもあるかと思います。

今回はCSSのみを使用して要素を回転させる方法を解説します。

みつた
アニメーションを理解できればよりサイトはリッチに、制作が楽しくなりますよ!

CSSアニメーションの基本@keyframeとanimetionプロパティについての解説記事はこちら

おすすめ!
【CSSアニメーション】@keyframeとanimationプロパティについて解説します。
【CSSアニメーション】@keyframesとanimationプロパティについて解説します。

続きを見る

rotate()関数で要素を回転させる

要素を回転させるにはtransformプロパティのrotate()関数を使用します。

rotate()関数の引数にdegという単位で数値を入れることで要素を回転させることができます。

正の数であれば右に回転、負の数であれば左に回転します。

それでは実際に見てみましょう。

See the Pen Untitled by koutarou mori (@koutarou-mori) on CodePen.

このようにブロックの要素を5つ用意しまして、それぞれ0°、45°、90°、135°、180°回転させました。

rotate()関数は要素の中心を軸に回転させることができます。

次にブロック要素を一つにして、それぞれの回転、色を@keyframeとanimationプロパティを使用して一つのアニメーションにしていきたいと思います。

See the Pen rotate()関数の使い方(@keyframeとanimetionプロパティ) by koutarou mori (@koutarou-mori) on CodePen.

このようにブロックにそれぞれに指定していたCSSを一つにアニメーションに収めることができました。

今回使用した@keyframeの書き方、animationプロパティは以下の記事で解説していますのでここでの詳しい解説は割愛します。

CSSアニメーションの基本@keyframeとanimetionプロパティについての解説記事はこちら

おすすめ!
【CSSアニメーション】@keyframeとanimationプロパティについて解説します。
【CSSアニメーション】@keyframesとanimationプロパティについて解説します。

続きを見る

CODE PENのCSSにもコメントで簡単に意味を記載していますので、「このプロパティなんだっけ」ぐらいの感覚で確認していただけますと幸いです。

rotateX()関数で要素を縦に回転させる

次は要素を縦に回転してみます。

要素を縦に回転させるにはtransformプロパティのrotateX()関数を使用します。

この関数を使用することで回転させたい要素に対してX軸を中心に縦回転させることができます。

実際に見てみましょう。

See the Pen rotateX()関数の使い方 by koutarou mori (@koutarou-mori) on CodePen.

静止画だと少しわかりづらいのですが、このように要素の中心のX軸を回転軸として縦に回転しています。

上から順に0°、45°、90°、135°、180°回転しています。

これらを一つのアニメーションにまとめると以下のようになります。

See the Pen rotateX()関数(@keyframeとanimationプロパティ) by koutarou mori (@koutarou-mori) on CodePen.

アニメーションにするとわかりやすいですね。

以下の図のように要素のX軸を中心に回転しているため、縦に回転させることができます。

rotateY()関数で要素を横に回転させる

次は横に回転させますが、transformプロパティのrotateY()関数を使用します。

rotateX()関数の流れからわかるかと思いますが、rotateY()関数は要素をY軸を中心に回転させることができます。

まずは静止画で見てみましょう。

See the Pen rotateY()関数の使い方 by koutarou mori (@koutarou-mori) on CodePen.

わかりづらいかもですが、上から順に0°、45°、90°、135°、180°Y軸を中心に回転しています。

これらを1つのアニメーションにまとめると以下のようになります。

See the Pen rotateY()関数の使い方(@keyframeとanimationプロパティ) by koutarou mori (@koutarou-mori) on CodePen.

以下の図のように要素のY軸を中心に回転しているため、横に回転させることができます。

rotateY()関数は要素のY軸を中心に回転

rotateZ()関数で要素を回転させる

次はtransformプロパティのrotateZ()関数を使用して要素を回転させます。

これまでの流れからするとこの関数は要素のZ軸を中心に要素が回転します。

つまりrotate()関数と同じ動きになるのです。

See the Pen rotateZ()関数の使い方 by koutarou mori (@koutarou-mori) on CodePen.

なやむさん
あれ、rotate()関数と表示が同じだ…これで合っているのでしょうか
みつた
はい!こちらで合っています。rotateX()関数とrotateZ()関数は同じ仕組みで回転しています。

次にアニメーションでの動きを見ていきます。

See the Pen rotateZ()関数の使い方(@keyframeとanimationプロパティ) by koutarou mori (@koutarou-mori) on CodePen.

なやむさん
動きがrotate()関数と同じですが、これならrotateZ()関数いらなくないですか?
みつた
そう思いますよね。しかし、この後に説明する3D回転で回転を制御するために必要となるんですよ。
よろこびくん
3D回転…!なんかかっこいい…

rotate3d();関数で要素を3D回転させる

これまでのrotate()関数、rotateX()関数、rotateY()関数、rotateZ()関数は2D回転で使用しました。

rotate3d()関数はrotate3d:(X,Y,Z,回転量の指定);と記述することができます。

今回解説するtransformプロパティのrotate3d()関数は名前にある通り3D回転させるための関数です

これらの回転軸すべてを使用して、要素を3D回転させていきます。

See the Pen rotate3d()関数使い方 by koutarou mori (@koutarou-mori) on CodePen.

3D回転がわかりやすいように要素も3D仕様にしています。

みつた
要素の3D化についてに解説は本記事では割愛させていただきます

要素を回転させる方法まとめ

みつた
ここまでお疲れさまでした。今回のまとめです。

ポイント

〇 transformプロパティのrotate()関数は要素の中心(Z軸)を軸に回転する

〇 transformプロパティのrotateX()関数は要素のX軸を中心に回転する

〇 transformプロパティのrotateY()関数は要素のY軸を中心に回転する

〇 transformプロパティのrotateZ()関数は要素のZ軸(中心)を中心に回転する

要素を中心を軸に回転させるにはrotate()関数を、要素を縦に回転させたい場合はrotateX()関数を、要素を横に回転させたい場合はrotateY()関数を使用するということだけ理解いただけたらOKです!

  • この記事を書いた人
  • 最新記事

みつた

完全未経験&異業種から30歳の年でIT企業に転職。

Web系開発言語が好き。
どちらかというとバックエンドよりもフロントエンドが好き(現時点では…)

最近はサウナと観葉植物にハマっている。
野球が好きで一応投手。

-CSS, Web制作, アニメーション