Categories: CSS3转换属性

CSS3 transform-style 属性 | CSS3教程:CSS3 3D转换

返回到:CSS3 3D转换 | CSS3教程

属性定义及使用说明

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-style36.0
12.0 -webkit-
11.016.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

这个人很懒,什么都没有留下~

Share
Published by
terry

Recent Posts

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

7 天 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

2 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

2 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

3 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

4 周 ago