画像や文字、他にも三角形などカーソルを乗せる(マウスオーバー)で回転させたいときがあると思います。
今回はCSSのtransform: rotate();
を使って解説していきます。
transform: rotate();で要素を回転させる方法は以下の記事を参照下さい(今回はhoverでアニメーションの解説です)
CSSで画像や文字など要素を回転させる方法【アニメーションも解説】
続きを見る
(有料になっていたらすいません🙇♂️)
CSSでhoverして画像や文字など要素をアニメーションで回転させる方法
今回解説するのは以下になります。
- 中心軸で回転
- 中心軸で逆回転
- X軸で回転
- Y軸で回転
また共通のコードはこちらになります。
<div class="box">
<img src="画像パス" alt="" />
</div>
.box {
height: 200px;
margin-inline: auto;
margin-top: 50px;
width: 200px;
}
.box img {
background-color: #b2d8ff;
cursor: pointer;
height: auto;
width: 100%;
}
あとは画像下に文字を入れていますが、それは回転とは無関係なので割愛します(上記CSSもレイアウトの為のスタイルです)
そしてこちらが回転させない基本形となります。
See the Pen
Untitled by junpei (@junpei-sugiyama)
on CodePen.
これをhoverで回転させていきます。
今回は全部360度で一回転させてますが、角度を180度にすれば裏返したり、少しだけ角度を変えるだけなど可能です。
中心軸で回転
中心軸で回転させる場合はtransform: rotate();
を使います。
そして一回転させるには360度回転させるので360deg
にします。
さらにアニメーション部分はtransition: transform 1s;
になります。
/* hoverアニメーション */
.box:hover img {
transition: transform 1s;
transform: rotate(360deg);
}
See the Pen
hoverで回転(中心軸) by junpei (@junpei-sugiyama)
on CodePen.
中心軸で逆回転
中心軸で逆回転させる場合はtransform: rotate();
で角度をマイナスにするだけです。
/* hoverアニメーション */
.box:hover img {
transition: transform 1s;
transform: rotate(-360deg);
}
See the Pen
hoverで逆回転(中心軸) by junpei (@junpei-sugiyama)
on CodePen.
X軸で回転
X軸で回転させる場合はtransform: rotateX();
を使います。
/* hoverアニメーション */
.box:hover img {
transition: transform 1s;
transform: rotateX(360deg);
}
See the Pen
hoverで回転(X軸) by junpei (@junpei-sugiyama)
on CodePen.
Y軸で回転
Y軸で回転させる場合はtransform: rotateY();
を使います。
/* hoverアニメーション */
.box:hover img {
transition: transform 1s;
transform: rotateY(360deg);
}
See the Pen
hoverで回転(Y軸) by junpei (@junpei-sugiyama)
on CodePen.
カーソルを離した時にも回転させる方法
ここまではカーソルを乗せたときだけ回転させていましたが、カーソルを離したときにも回転させることが可能です。
それにはtransition
を書く場所を変えるだけでOKです。
/* hoverアニメーション(カーソルを乗せたときだけ) */
.box:hover img {
transition: transform 1s;
transform: rotateY(360deg);
}
/* hoverアニメーション(カーソルを離したときも) */
.box img {
transition: transform 1s;
transform: rotateY(360deg);
}
つまりhoverがない状態からtransition
を書いておけばOKです(hoverの方は削除してOK)
それぞれのデモはこちらになります。
See the Pen
hoverで離した時も回転(中心軸) by junpei (@junpei-sugiyama)
on CodePen.
See the Pen
Untitled by junpei (@junpei-sugiyama)
on CodePen.
See the Pen
hoverで回転(Y軸) by junpei (@junpei-sugiyama)
on CodePen.
まとめ
今回はCSSでhoverしたら画像や文字など要素を回転させる方法を解説してきました。
hoverを離したあとも回転させるかどうかは、実務では自分で判断せずにクライアントに確認してみましょう。
以上になります。