CSS3 のtransformプロパティはFlashやJavaScriptを使わずに要素をアニメーションさせたりする視覚的および相互作用の効果を豊富に提供しています。
その中でtranslate()関数は、基本的にX軸とY軸に沿って指定された距離だけ要素を移動させる際に使います。
基本コーディングは特に複雑ではありません。
transform:translate(x, y)、translateX()、translateY()、translateZ()、translate3d()などの関数で移動距離を指定します。
translate()プロパティ | |
---|---|
transform:translate() | translate(x、y)関数では、要素を左からx距離、上からx距離ほど相対的に位置決めしたり、移動や再配置を指定します。 Y方向の距離は省略することができますが、この場合のY方向の距離は0となります。 |
transform:translateX() | translateX(距離)関数は、右左(水平方向)の移動距離の値を指定します。 |
transform:translateY() | translateY(距離)関数は、上下(垂直方向)の移動距離の値を指定します。 |
transform:translateZ() | translateZ(距離)関数では、Z方向の距離で移動を指定します。この関数ではパーセンテージ値を指定することができません。パーセンテージで値を指定しても0となります。 |
スポンサーリンク
下記のように要素を移動させるためにX軸およびY軸に沿って、要素の移動距離を示すxyのパラメータを指定します。
transform:translate(200px,0);
div.sample{ height:100px; width: 100px; background:#d6d4d4; border-radius:50%; box-shadow:inset 0 2px 45px #2e2d2d; } div.sample:hover { transform:translate(200px,0); -webkit-transform:translate(200px,0); -moz-transform:translate(200px,0); -ms-transform:translate(200px,0); -o-transform:translate(200px,0); }
下記の円形にマウスオーバーすると右に200px移動することになります。
translate()をリセットしたい場合、「transform: none;」を指定します。
また、transform: translate()とは別途に「position:absolute」を使って要素をtopとleftで移動させる方法もありますが、transform: translate()と比べどっちがいいのかは環境によるみたいです。
[CSS] translate(-50%,-50%);
.parent{ position:relative; } .child{ position:absolute; top:50%; left:50%; transform: translate(-50%,-50%); background-color:#666; }
スポンサーリンク
スポンサーリンク
Category
BILLION WALLET Copyright©All rights reserved