perspective-originプロパティの説明
CSSのperspective-originプロパティは、三次元的に配置された要素に対する視点の位置を定めます。この機能は、perspectiveプロパティと合わせて使うことによって効果を発揮します。
本プロパティは、transformで変形を加えた子要素を持つ親要素に対して適用します。概念としてはZ軸に奥行きを持つ箱を用意して、その中を覗く視点が存在するという捉え方ができます。
perspective-originに指定できる値
x-position- 消失点の水平方向の座標を表す値です。
<length>値、<percentage>値、キーワードが使用できます。 y-position- 消失点の垂直方向の座標を表す値です。
<length>値、<percentage>値、キーワードが使用できます。
perspective-originの使い方とサンプルコード
perspective-originプロパティの構文は以下の通りです。
/* 水平方向 */
perspective-origin: x-position;
/* 記述例 */
perspective-origin: left;
perspective-origin: center;
perspective-origin: right;
/* 水平方向 | 垂直方向 */
perspective-origin: x-position y-position;
/* 記述例 */
perspective-origin: left top;
perspective-origin: left 50%;
perspective-origin: 0 bottom;
perspective-origin: center 0;
perspective-origin: center 50%;
perspective-origin: 50% bottom;
perspective-origin: right top;
perspective-origin: right 50%;
perspective-origin: 100% bottom;
perspective-origin: -100% -50%;
/* 水平方向 | 垂直方向(キーワード値の場合のみ有効) */
perspective-origin: y-position x-position;
/* グローバル値 */
perspective-origin: inherit;
perspective-origin: initial;
perspective-origin: revert;
perspective-origin: unset;
perspective-originの実例
それでは実際にperspective-originプロパティの書き方を見ていきましょう。以下の例は、transform-styleの値にpreserve-3dを与えて三次元空間のコンテナを作成し、子要素で立方体を組み立てて設置した時の比較です。
perspectiveの値によって視点の深度が変わりますが、今回は500pxに固定した上で視点の位置を変えています。キーワード値では、各辺の0地点が基準となりますが、それを超えた角度から眺める表現は、<length>値や<percentage>値によって実現できます。
