transform-style - 子要素が3D空間の位置を保持するかを指定する
投稿日: / 更新日:
スタイルシートのtransform-style
は、子要素が3D空間の位置を保持するか否かを指定するためのプロパティです。
サンプルコード
transform-style
を指定したサンプルコードです。この要素の子要素は、全て3D空間における位置を保持します。transform
と組み合わせないと意味がありません。
div {
transform-style: preserve-3d ;
}
デモ
上の要素(茶)にはtransform-style
にpreserve-3d
を指定して、子要素(青)に3D空間の位置関係を保持させました。対して、下の要素(茶)にはflat
を指定したため、子要素(青)は3D空間における位置関係を失っています。それぞれ子要素(青)は、親要素(茶)を軸に、水平方向に回転しています。上の例では位置関係が考慮され、回転中、半分は親要素の後ろに隠れてしまいます。対して、下の例では位置関係が無視されて、単純に全体が見えながら回転しています。まるで紙に描いた絵のように、フラット(flat
)な存在になってしまったわけです。
値の指定
指定できる値の説明は下記の通りです。リンクをクリックするとデモを確認できます。
項目 | 説明 |
---|---|
inherit | 親要素の値を引き継ぐ。例の場合、div 要素のtransform-style には、body に指定された値(preserve-3d )が引き継がれる。 |
initial | プロパティの初期値が適用される。この場合、値はflat (位置関係を無視)となる。 |
flat | 初期値。3D空間における位置関係は無視される。2016年2月現在、Safariではこの値が有効にならない。 |
preserve-3d | 3D空間における位置関係が保持される。 |
ブラウザのサポート
2016年7月現在の、ブラウザのサポート状況は次の通りです。全ての主要ブラウザで、ベンダープレフィクスなど気にすることなく利用できます。
Chrome
●
-
時期不明
Firefox
●
-
時期不明
Safari
●
-
時期不明
Ie
●
-
時期不明
Edge
●
-
時期不明
Opera
●
-
時期不明
Safari(iOS)
●
-
時期不明
Ie Mobile
●
-
時期不明
Chrome
●
-
時期不明
Android
●
-
時期不明
FF Mobile
●
-
時期不明
Opera Mobile
●
-
時期不明