どうも、ジャングルオーシャンのミケです。
今日はマウスオーバーすると画像が拡大、縮小、回転をするエフェクトの紹介だよ。
HTMLとCSSだけで簡単に実装できるよ。
ソースコードを載せてるからぜひコピペして使ってね。
拡大、縮小、回転に使用するCSSプロパティ
拡大、縮小、回転に使うのは
CSSのtransformというプロパティだよ。
サンプルデモページも用意したから
具体的なイメージはここでつかみながら色々試してみてね。
それじゃ拡大、縮小、回転させる時のソースコードを紹介していくよ。
1.マウスオーバーで画像を拡大する
HTML
1 2 3 |
<div class="moimg1"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.moimg1 { overflow: hidden; width: 350px; height: 240px; } .moimg1 img { width: 350px; display: block; transition: 0.5s; } .moimg1 img:hover { transform: scale(1.1, 1.1); } |
マウスオーバー時の動きはimgに:hoverという擬似クラスをつけてその中にプロパティを入れることで指定できるよ。
この時のプロパティがtransformで値のscaleの括弧の中に縦と横の比率をどれくらい大きくするかを記述できるんだ。この場合は、縦も横も1.1倍になっているよ。
2.マウスオーバーで画像を超拡大する
HTML
1 2 3 |
<div class="moimg2"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.moimg2 { overflow: hidden; width: 350px; height: 240px; } .moimg2 img { width: 350px; display: block; transition: 0.5s; } .moimg2 img:hover { transform: scale(2.0, 2.0); } |
3.マウスオーバーで画像の縦だけを拡大する
HTML
1 2 3 |
<div class="moimg3"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.moimg3 { overflow: hidden; width: 350px; height: 240px; } .moimg3 img { width: 350px; display: block; transition: 0.5s; } .moimg3 img:hover { transform: scale(1.0, 2.0); } |
4.マウスオーバーで画像の横だけを拡大する
HTML
1 2 3 |
<div class="moimg4"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.moimg4 { overflow: hidden; width: 350px; height: 240px; } .moimg4 img { width: 350px; display: block; transition: 0.5s; } .moimg4 img:hover { transform: scale(2.0, 1.0); } |
5.マウスオーバーで画像を縮小する
HTML
1 2 3 |
<div class="moimg5"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 |
.moimg5 { width: 350px; height: 240px; } .moimg5 img { width: 350px; display: block; transition: 0.5s; } .moimg5 img:hover { transform: scale(0.9, 0.9); } |
6.マウスオーバーで画像を超縮小する
HTML
1 2 3 |
<div class="moimg6"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 |
.moimg6 { width: 350px; height: 240px; } .moimg6 img { width: 350px; display: block; transition: 0.5s; } .moimg6 img:hover { transform: scale(0.2, 0.2); } |
7.マウスオーバーで画像の縦だけ縮小する
HTML
1 2 3 |
<div class="moimg7"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.moimg7 { overflow: hidden; width: 350px; height: 240px; } .moimg7 img { width: 350px; display: block; transition: 0.5s; } .moimg7 img:hover { transform: scale(1.0, 0.2); } |
8.マウスオーバーで画像の横だけ縮小する
HTML
1 2 3 |
<div class="moimg8"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.moimg8 { overflow: hidden; width: 350px; height: 240px; } .moimg8 img { width: 350px; display: block; transition: 0.5s; } .moimg8 img:hover { transform: scale(0.2, 1.0); } |
9.マウスオーバーで画像をZ軸回転する
HTML
1 2 3 |
<div class="moimg9"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.moimg9 { width: 100%; height: 240px; line-height: 100px; text-align: center; } .moimg9 img{ width: 350px; transition: 1.0s; transform: rotateZ( 0deg ); } .moimg9:hover img { transform: rotateZ( 360deg ); } |
10.マウスオーバーで画像をZ軸回転して逆さにする
HTML
1 2 3 |
<div class="moimg10"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.moimg10 { width: 100%; height: 240px; line-height: 100px; text-align: center; } .moimg10 img { width: 350px; transition: 1.0s; transform: rotateZ( 0deg ); } .moimg10:hover img { transform: rotateZ( 180deg ); } |
11.マウスオーバーで画像をX軸回転する
HTML
1 2 3 |
<div class="moimg11"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.moimg11 { width: 100%; height: 240px; line-height: 100px; text-align: center; } .moimg11 img{ width: 350px; transition: 1.0s; transform: rotateX(0deg ); } .moimg11:hover img { transform: rotateX( 360deg ); } |
12.マウスオーバーで画像をX軸回転して裏にする
HTML
1 2 3 |
<div class="moimg12"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.moimg12 { width: 100%; height: 240px; line-height: 100px; text-align: center; } .moimg12 img { width: 350px; transition: 1.0s; transform: rotateX(0deg ); } .moimg12:hover img { transform: rotateX( 180deg ); } |
13.マウスオーバーで画像をY軸回転する
HTML
1 2 3 |
<div class="moimg13"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.moimg13 { width: 100%; height: 240px; line-height: 100px; text-align: center; } .moimg13 img{ width: 350px; transition: 1.0s; transform: rotateY(0deg ); } .moimg13:hover img { transform: rotateY( 360deg ); } |
14.マウスオーバーで画像をY軸回転して裏にする
HTML
1 2 3 |
<div class="moimg14"> <img src="images/sampleimg.jpg" /> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.moimg14 { width: 100%; height: 240px; line-height: 100px; text-align: center; } .moimg14 img { width: 350px; transition: 1.0s; transform: rotateY(0deg ); } .moimg14:hover img { transform: rotateY( 180deg ); } |
まとめ
基本的に画像を変化させたい時は
transformプロパティを使って
値を動きによって変更すればいろんな変化を簡単にさせられるよ。
ぜひ試してみてね。
それじゃまた今度!
TwitterやFacebookのフォローよろしくね!
Twitter
@michelgorilla
Facebook
ミケランジェロ