CSS:CSS3の「transform:scale()」でhoverした時に画像を拡大する

CSS3の「transform:scale()」を使用すると要素や画像拡大・縮小して表示することができます。

画像をマウスオーバーした時にその画像を少し拡大させて表示させるなどをすると、
サイトに動きを出すことができるのでいいと思います。

下記にCSS3の「transform:scale()」を使用して画像マウスオーバーした時に
拡大させて表示した時の方法をメモします。


「transform:scale()」の使用方法

ブロック要素を固定させて画像を拡大させた場合の方法です。
画像をマウスオーバーするとアニメーションで拡大します。

【CSS】

.scale {
	width: 400px;
	height: 300px;
	overflow: hidden;
}
.scale img {
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
}
.scale img:hover {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

※「transition: all 0.5s linear;」で指定してもOKです。
allの場合は全てのプロパティに適用されます。

HTML

<div class="scale">
    <img src="./css_scale.jpg">
</div>

表示例

サンプルページ:【CSS】画像の拡大・縮小表示

「scale()」は下記のようにX方向とY方向で指定することもできます。

transform: scale(1.2,1.2);

また、縮小させて表示させたい場合は(0.8)のように1よりも小さい値を指定します。


サイト内の画像をマウスオーバーした時に動きを出したい場合など色々と利用できそうです。

 

CSS:CSSで要素を回転させる方法「transform:rotate()」

CSSの「transform:rotate()」を使用するとテキストや画像、指定した要素
回転させて表示することができます。

transform: rotate(10deg);

rotate()には回転する角度を指定します。

下記のように「-」マイナスで指定することも可能です。
その場合は逆方向に回転して表示されます。

transform: rotate(-10deg);

要素を回転させて文字や画像を傾けて表示させたい場合などに利用できそうです。

下記にCSSの「transform:rotate()」を使用して、要素を回転させて表示した時の方法を記載します。


「transform:rotate()」の使用方法

CSS

<style type="text/css">
div#rotate {
    -moz-transform: rotate(-20deg);
    -webkit-transform: rotate(-20deg);
    -o-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    transform: rotate(-20deg);
}
</style>

HTML

<div id="rotate">
test
</div>

表示例

css_transform_rotate_1


「transition」プロパティを使用すれば、hoverした時にアニメーションで回転させることも可能です。

hover時にアニメーションで回転させる場合

CSS

<style type="text/css">
div#rotate {
    color:#FFF;
    background-color:#09F;
    width: 200px;
    padding:20px;
    -moz-transition: -moz-transform 1s linear;
    -webkit-transition: -webkit-transform 1s linear;
    -o-transition: -o-transform 1s linear;
    -ms-transition: -ms-transform 1s linear; 
    transition: transform 1s linear; 
}
div#rotate:hover {
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
</style>

HTML

<div id="rotate">
test
</div>

表示例

サンプルページ


他にも「rotateX()」「rotateY()」「rotateZ()」「rotate3d()」で
指定することもできます。

要素を傾けて表示させたり、hoverした時に要素を回転させたりなど、
サイトに動きが出せて面白いかもしれないです。