属性定义及使用说明
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
支付宝
微信