transform とは
transform は、動きに変化をつけるためのプロパティです。
transform プロパティはインライン要素には効きません。インラインブロック要素かブロック要素に適用されます。
transform は、動きに変化をつけるためのプロパティです。
transform プロパティはインライン要素には効きません。インラインブロック要素かブロック要素に適用されます。
次のサンプルは、要素を傾けます。
<div id="target"></div>
target {
height: 50px;
width: 50px;
background-color: black;
transform: rotate(45deg);
}
transform では、プロパティではなく関数を使って、さまざまな変化を加えることができます。
要素を移動させる関数です。
移す、運ぶ
test
<div id="target">test</div>
#target { transform: translate(100px, 0px); }
関数 | 内容 |
---|---|
translate | 要素を 2D 平面上で平行移動させます。第一引数に X 軸の距離、第二引数に Y 軸の距離を指定。 |
translate3d | 要素を3D 空間で平行移動させます。第一引数に X 軸、第二引数に Y 軸、第三引数に Z 軸の距離を指定。 |
translateX | 要素を水平方向に平行移動させます。 |
translateY | 要素を垂直方向に平行移動させます。 |
translateZ | 要素を Z 軸方向に平行移動させます。 |
要素を伸縮させる関数です。1を基準とした比率の数字を指定します。
<div id="target">test</div>
#target {
height: 50px;
width: 50px;
background-color: black;
transform: scale(1, 0.5);
}
関数 | 内容 |
---|---|
scale | 要素を 2D 平面上で拡大または縮小します。第一引数に X 軸の倍率、第二引数に Y 軸の倍率を指定。 |
scale3d | 要素を 3D 空間で拡大または縮小します。第一引数に X 軸、第二引数に Y 軸、第三引数に Z 軸の倍率を指定。 |
scaleX | 要素を水平に拡大または縮小します。 |
scaleY | 要素を垂直に拡大または縮小します。 |
scaleZ | 要素を Z 軸方向に拡大または縮小します。 |
要素を回転させることができます。単位は deg を使います。
角度
test
<p id="target">test</p>
#target {
width: 100px;
transform: rotate(45deg);
}
関数 | 内容 |
---|---|
rotate | 要素を 2D 平面上で特定の点を中心に回転します。角度を指定。 |
rotate3d | 要素を 3D 空間で特定の軸を中心に回転します。第一、二、三引数で回転軸を指定し、第四引数で角度を指定。 |
rotateX | X 軸の角度を指定。 |
rotateY | Y 軸方向の角度を指定。 |
rotateZ | Z 軸方向の角度を指定。 |
オブジェクトに傾斜をつけることができます。
斜め
<div id="target"></div>
#target {
width: 50px;
height: 50px;
border: 1px solid black;
transform: skew(30deg, 20deg);
}
関数 | 内容 |
---|---|
skew | 要素を 2D 平面上で歪ませます。 |
skewX | 要素を水平方向に歪ませます。 |
skewY | 要素を垂直方向に歪ませます。 |
<button id="target">button</button>
#target {
transition-duration: 500ms;
}
#target:hover {
transform: scale(1.5);
}