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,如若转载,请注明出处:https://www.web176.com/css3transform/5116.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2022年1月14日 下午4:05
下一篇 2022年1月14日 下午4:11

相关推荐

发表回复

登录后才能评论