perspective プロパティ
perspective プロパティは、立体的に表示できるように設定したエレメントの遠近感を指定するプロパティです。
transformプロパティと併せて定義します。
perspective プロパティは、ユーザー視点からの距離を指定します。それによって遠近感が変わります。
値が小さいほど近くに、大きいほど遠くにあるように表示されます。
parent_element{
perspective: 500px;
}
child_element{
transform: rotate3d(1,1,1,60deg);
}
perspective と perspective-origin プロパティは親エレメントに、transform プロパティは子エレメントに設定します。
transform-functionに perspective() 関数があります。 transformプロパティでperspective()関数を利用して遠近感を指定する方法もあります。
視点の中心位置はエレメントの中心(50%,50%,0)です。 perspective プロパティの値が小さいほどエレメントの中心に近づきます。0 または none は遠近感の指定を適応しません。 perspective-origin プロパティで視点位置を指定することができます。
ページ内 Index
構文(Syntax)
CSS
perspective: none | length | initial | inherit;
DOM ( JavaScript )
String = object.style.perspective;
object.style.perspective="none | length | initial | inherit";
値(Values)
| Value | 摘要 |
|---|---|
| none | 初期値(default値)、0と同じで遠近感の効果はなし |
| length | CSS長さの単位 |
| initial | 初期値に戻す |
| inherit | 親エレメントのプロパティを継承 |
備考(Remarks)
| 初期値(Default value) | none |
| 継承(Inherited) | No |
| CSS Animation | Yes |
Example
perspectiveの例です。transformプロパティのrotate3d()関数でX軸、Y軸、Z軸を中心に60度傾けて立体的に見えるようにしたエレメントを500px向こうに見えるように指定しています。
値を0またはnoneにすると遠近感を適応しません。
関連する 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次元に配置されたエレメントを回転、拡大/縮小、傾斜、移動 |
