CSS - transform-style
概要
属性名 | transform-style |
---|---|
値 | flat | preserve-3d |
初期値 | flat |
適用可能要素 | トランスフォーム可能な要素 |
継承 | 継承しない |
メディア | visual |
アニメーション | 不可 |
サポート (説明)
CSS | IE/Edge | Firefox | Chrome | Opera | Safari | |
---|---|---|---|---|---|---|
3D | CSS3 | 12 | 10(-moz) 16 | 12(-webkit) 36 | 15(-webkit) 23 | 4(-webkit) 9 |
説明
transform で三次元変換した結果を、二次元的に表示するか、三次元的に表示するかを指定します。transform-style を指定した子要素に対してのみ有効です。IE11 ではサポートされていません。
値 | 説明 |
---|---|
flat | 要素の子要素を三次元変換した結果を、二次元的に表示します。 |
preserve-3d | 要素の子要素を三次元変換した結果を、三次元的に表示します。 |
使用例
CSS
.container { width: 60px; height: 60px; perspective: 200px; border: 1px solid #999; margin-top: 5px; } .parent { width: 60px; height: 60px; transform: rotateY(45deg); background: rgba(0, 0, 255, 0.7); } .child { width: 60px; height: 60px; transform-origin: top left; transform: rotateX(45deg); background: rgba(0, 255, 0, 0.7); }
HTML
<h3>flat</h3> <div class="container"> <div class="parent" style="transform-style:flat;"> <div class="child"> </div> </div> </div> <h3>preserve-3d</h3> <div class="container"> <div class="parent" style="transform-style:preserve-3d;"> <div class="child"> </div> </div> </div>
表示
flat
preserve-3d
例では、親要素(青)の上に子要素(緑)を表示しています。親要素(青)は rotateY() で Y軸を中心に 45度、子要素(緑)は rotateX() で X軸を中心に 45度回転させています。preserve-3d を指定した場合は三次元的に回転した結果が表示されますが、flat の場合は「三次元で回転させた結果は二次元的にはこうなるはず」の結果を表示するため、子要素(緑)は 45度傾けた分、親要素(青)よりも短く表示されています。
関連項目
transform, transform-origin, transform-style, perspective, perspective-origin, backface-visibilityリンク
- https://www.w3.org/TR/2009/WD-css3-3d-transforms-20090320/
- http://www.w3.org/TR/css-transforms-1/#transform-style-property
- https://developer.mozilla.org/ja/docs/Web/CSS/transform-style
- http://caniuse.com/#feat=transforms3d
Copyright (C) 2015 杜甫々
初版:2015年12月27日、最終更新:2015年12月27日
https://www.tohoho-web.com/css/prop/transform-style.htm