rotate3d() ファンクション
rotate3d() ファンクションは、引数のX軸、Y軸、Z軸の回転に関するベクトルと回転角度から立体的に回転したエレメントを返す CSS 関数です。
X軸、Y軸、Z軸の方向のベクトルは、1 で右回り,-1 で左回り、0 でなしになります。数値の大きさで回転度合いの配分となります。
X軸、Y軸、Z軸、それぞれのみを中心に回転させたい場合は、rotateX()、rotateY()、rotateZ() が使えます。
.content {
transform-origin: initial;
transform: rotate3d( 1, 0, 0, 30deg );
}
動作の確認はExampleを参照してください
rotate3d() ファンクションは、エレメントの変形に関する transform プロパティで transform-functions として利用します。
transform プロパティによる回転の中心は transform-origin プロパティによって変更ができます。
ページ内 Index
構文(Syntax)
CSS
rotate3d( x, y, z, angle )
引数
x, y, z は基準軸の有無を表し、0 または 1 です。angle は 回転量(単位:deg)です。
Example
3D(立体)の例で、エレメントを rotate3d() 関数でX軸を中心に60度、Z軸を中心に20度回転させています。
こちらは、回転の中心点を変更すると複雑になるので transform-origin プロパティを設定していません。
関連する CSS プロパティとメソッド
プロパティ
プロパティ | 摘要 |
---|---|
transform | エレメントの変形を表示 |
transform-origin | 基準点(中心)を指定する |
transform-style | 親エレメン上に表示するか、3D上に表示するか |
視点距離 | |
perspective | 3Dで使用、視点からの距離を指定 |
メソッド
メソッド | 摘要 |
---|---|
回転 | |
rotate( angle ) | エレメントの回転を角度で指定(単位:deg) |
rotate3d( x, y, z, angle ) | x,y,zは基準軸の有無を表す、0または1。angleは回転量(単位:deg) |
rotateX(angle) | X軸(水平方向)を中心に回転(単位:deg) |
rotateY(angle) | Y軸(垂直方向)を中心に回転(単位:deg) |
rotateZ(angle) | Z軸(前後方向)を中心に回転(単位:deg) |
拡大/縮小 | |
scale( x ,y ) | X軸やY軸方向の拡大/縮小を数値で指定、CSS 長さの単位 を参照のこと |
scale3d( x, y, z ) | X、Y、Z軸方向の拡大/縮小を数値で指定、CSS長さの単位を参照のこと |
scaleX(x) | X軸(水平)方向の拡大/縮小を数値で指定、CSS長さの単位を参照のこと |
scaleY(y) | Y軸(垂直)方向の拡大/縮小を数値で指定、CSS長さの単位を参照のこと |
scaleZ(z) | Z軸(前後)方向の拡大/縮小を数値で指定、CSS長さの単位を参照のこと |
傾斜 | |
skew( x-angle, y-angle ) | X軸やY軸の傾きを角度で指定( 単位:deg ) |
skewX(angle) | X軸の傾きを角度で指定(単位:deg) |
skewY(angle) | Y軸の傾きを角度で指定(単位:deg) |
移動 | |
translate( x, y ) | X軸やY軸方向への移動量を数値で指定、CSS長さの単位を参照のこと |
translate3d(x,y,z) | X、Y、Z軸方向を数値で指定、CSS長さの単位を参照のこと |
translateX(x) | X軸(水平)方向に移動、数値で指定、CSS長さの単位を参照のこと |
translateY(y) | Y軸(垂直)方向に移動、数値で指定、CSS長さの単位を参照のこと |
translateZ(z) | Z軸(前後)方向に移動、数値で指定、CSS長さの単位を参照のこと |
行列変換 | |
matrix( a, b, c, d, x, y ) | 平面のエレメントを回転、拡大/縮小、傾斜、移動 |
matrix3d(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4) | 3次元に配置されたエレメントを回転、拡大/縮小、傾斜、移動 |