属性定义及使用说明
transform–style属性指定嵌套元素是怎样在三维空间中呈现。
注意: 使用此属性必须先使用 transform 属性.
Safari/Chrome用户:为了更好地理解transform–style属性,请查看DEMO:
<html><!DOCTYPE html> <html> <head> <title>Web176教程网(web176.com)</title> <style> #div1 { position: relative; height: 200px; width: 200px; margin: 50px; padding:10px; border: 1px solid black; } #div2 { padding:50px; position: absolute; border: 1px solid black; background-color: red; transform: rotateY(45deg); transform-origin:50% 50% 100px; -webkit-transform: rotateY(70deg); /* Safari and Chrome */ -webkit-transform-origin:50% 50% 100px; /* Safari and Chrome */ -moz-transform: rotateY(70deg); /* Firefox */ -moz-transform-origin:50% 50% 100px; /* Firefox */ -o-transform: rotateY(70deg); /* Opera */ -o-transform-origin:50% 50% 100px; /* Opera */ } #div3 { padding:40px; position: absolute; border: 1px solid black; background-color: yellow; transform: rotateY(80deg); transform-origin:40% 90% 10px; -webkit-transform: rotateY(80deg); /* Safari and Chrome */ -webkit-transform-origin:40% 90% 10px; /* Safari and Chrome */ -moz-transform: rotateY(80deg); /* Firefox */ -moz-transform-origin:40% 90% 10px; /* Firefox */ -o-transform: rotateY(80deg); /* Opera */ -o-transform-origin:40% 90% 10px; /* Opera */ } </style> <script> function changeRot(value) { document.getElementById('div2').style.transform="rotateY(" + value + "deg)"; document.getElementById('div2').style.webkitTransform="rotateY(" + value + "deg)"; document.getElementById('div2').style.MozTransform="rotateY(" + value + "deg)"; document.getElementById('div2').style.OTransform="rotateY(" + value + "deg)"; document.getElementById('persp').innerHTML=value + "deg"; } function checkFlat() { if (document.getElementById("tf").checked==true) { document.getElementById('div2').style.webkitTransformStyle="preserve-3d"; } else { document.getElementById('div2').style.webkitTransformStyle="flat"; } } </script> </head> <body> <p>Rotate the div elements, with and without checking the transform-style checkbox:</p> <div id="div1"> <div id="div2">HELLO <div id="div3">YELLOW</div> </div> </div> webkit-transform-style: preserve-3d<input type="checkbox" onchange="checkFlat()" id="tf" /><br> <br> Rotate:<br> <input type="range" min="-360" max="360" value="70" onchange="changeRot(this.value)" /><br> -webkit-transform: rotateY:(<span id="persp">70deg</span>); </body> </html>
默认值: | flat |
---|---|
继承: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.transformStyle=”preserve-3d” |
语法
transform-style: flat|preserve-3d;
值 | 描述 |
---|---|
flat | 表示所有子元素在2D平面呈现。 |
preserve-3d | 表示所有子元素在3D空间中呈现。 |
浏览器支持
表格中的数字表示支持该属性的第一个浏览器版本号。
紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。
属性 | 谷歌 | IE | 火狐 | 苹果 | opera |
---|---|---|---|---|---|
transform-style | 36.0 12.0 -webkit- | 11.0 | 16.0 10.0 -moz- | 9.0 4.0 -webkit- | 23.0 15.0 -webkit- |
实例
让转换的子元素保留3D转换:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Web176教程网(web176.com)</title> <style> #div1 { position: relative; height: 200px; width: 200px; margin: 100px; padding:10px; border: 1px solid black; } #div2 { padding:50px; position: absolute; border: 1px solid black; background-color: red; transform: rotateY(60deg); transform-style: preserve-3d; -webkit-transform: rotateY(60deg); /* Safari and Chrome */ -webkit-transform-style: preserve-3d; /* Safari and Chrome */ } #div3 { padding:40px; position: absolute; border: 1px solid black; background-color: yellow; transform: rotateY(-60deg); -webkit-transform: rotateY(-60deg); /* Safari and Chrome */ } </style> </head> <body> <div id="div1"> <div id="div2">HELLO <div id="div3">YELLOW</div> </div> </div> </body> </html>
作者:terry,如若转载,请注明出处:https://www.web176.com/css3transform/5116.html