CSS3 2D 変形
CSS3 変形
CSS3 の transform により、要素の移動(move)、拡大(scale)、中心点の周りを回転(turn)、
軸を中心に回転(spin)、伸縮(stretch)をすることができます。
どのように機能するか ?
変形とは、要素の形状、サイズ、位置を変更させる効果のことです。
要素は、2D または 3D transformation を使用して変形することができます。
ブラウザ・サポート
プロパティ |
Browser Support |
transform |
|
|
|
|
|
Internet Explorer 9 は、接頭辞 -ms- を必要とします。
Firefoxは、接頭辞 -moz- を必要とします。
Chrome 及び Safari は、接頭辞 -webkit- を必要とします。
Opera は、接頭辞 prefix -o- を必要とします。
2D 変形
この章では、2d 変形メソッドを学習します:
- translate()
- rotate()
- scale()
- skew()
- matrix()
次章で、3D transforms メソッドを学習します。
translate() メソッド
translate() メソッドにより、要素は、現在の位置から、左(X軸)と上(Y軸)の位置に
与えられたパラメータの位置へ移動します:
値 translate(50px,100px) は、要素を左から 50ピクセル、上から 100ピクセルへ移動します。
rotate() メソッド
rotate() メソッドにより、指定の度数分、要素は時計回りに回転します。
負の値の指定が可能で、要素は反時計回りに回転します。
値 rotate(30deg) は、時計回りに30度回転します。
scale() メソッド
scale() メソッドによって、幅(X軸)と高さ(Y軸)で与えられたパラメータに応じて、
要素のサイズが大きくなったり、小さくなったりします:
値 scale(2,4) は、幅を元のサイズの2倍、高さを元のサイズの4倍に変形します。
skew() メソッド
skew() メソッドによって、水平線(X軸)と垂直線(Y軸)に指定したパラメータに応じて、
要素は与えられた角度分回転します:
値 skew(30deg,20deg) は、X軸まわりに30度、Y軸まわりに20度、要素を回転します。
matrix() メソッド
matrix() メソッドは、全ての 2D transform メソッドを1つに統合します。
matrix() メソッドは、 要素の回転、伸縮、移動(translate)、傾斜を可能にする、
数学的な関数に含まれる6つのパラメータを取ります。
例
matrix メソッドを用い、div 要素を30度回転する方法:
div
{
transform:matrix(0.866,0.5,-0.5,0.866,0,0);
-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
-moz-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Firefox */
-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
-o-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Opera */
}
Try it yourself »
新 Transform プロパティ
次の表は、全 transform プロパティの一覧です:
2D Transform メソッド
関数 |
説明 |
matrix(n,n,n,n,n,n) |
6つの値の matrix を使用して 2D transformation を定義する |
translate(x,y) |
X軸とY軸に沿い移動する 2D translation を定義する |
translateX(n) |
X軸に沿い要素を移動する 2D translation を定義する |
translateY(n) |
Y軸に沿い要素を移動する 2D translation を定義する |
scale(x,y) |
要素の幅と高さを変更する 2D scale transformation を定義する |
scaleX(n) |
要素の幅を変更する 2D transformation を定義する |
scaleY(n) |
要素の高さを変更する 2D transformation を定義する |
rotate(angle) |
パラメータで指定した角度にする 2D rotation を定義する |
skew(x-angle,y-angle) |
X軸とY軸に沿い要素を傾斜させる 2D skew transformation を定義する |
skewX(angle) |
X軸に沿い要素を傾斜させる 2D skew transformation を定義する |
skewY(angle) |
Y軸に沿い要素を傾斜させる 2D skew transformation を定義する |
|