方法二:
步骤一:
一个大盒子包着6个小盒子;
步骤二:
大盒子的宽高和小盒子的一样;
步骤三:
子绝父相,让6个小盒子脱离文档流,叠在一起;
步骤四:
给6个小盒子设置不同背景颜色;
步骤五:
先做上下两个面,分别沿Y轴的上下各自平移宽度的一半,再继续围绕X轴各自旋转90deg。
步骤六:
先做左右两个面,分别沿X轴的左右各自平移宽度的一半,再继续围绕Y轴各自旋转90deg。
步骤七:
先做前后两个面,分别沿Z轴的前后各自平移宽度的一半。
步骤八:
给父元素加transform-style: preserve-3d;转成3d.
步骤九:
让父元素旋转,查看效果, transform:rotateY(30deg) rotateX(30deg);
HTML和CSS样式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>透明3D立体正方体</title>
<style type="text/css">
body{
background: #000;
}
.box{
width: 200px;
height: 200px;
position: relative;
margin:200px auto;
transform-style: preserve-3d;
transform:rotateY(0deg) rotateX(30deg);
}
p{
width: 200px;
height: 200px;
text-align: center;
line-height: 200px;
opacity: 0.5;
position:absolute;
left: 0px;
top: 0px;
}
.one{
background: red;
-webkit-transform: translateX(100px) rotateY(90deg);
-moz-transform: translateX(100px) rotateY(90deg);
-ms-transform: translateX(100px) rotateY(90deg);
-o-transform: translateX(100px) rotateY(90deg);
transform: translateX(100px) rotateY(90deg);
}
.two{
background: blue;
-webkit-transform: translateX(-100px) rotateY(90deg);
-moz-transform: translateX(-100px) rotateY(90deg);
-ms-transform: translateX(-100px) rotateY(90deg);
-o-transform: translateX(-100px) rotateY(90deg);
transform: translateX(-100px) rotateY(90deg);
}
.three{
background: green;
-webkit-transform: translateY(100px) rotateX(90deg);
-moz-transform: translateY(100px) rotateX(90deg);
-ms-transform: translateY(100px) rotateX(90deg);
-o-transform: translateY(100px) rotateX(90deg);
transform: translateY(100px) rotateX(90deg);
}
.four{
background: yellow;
-webkit-transform: translateY(-100px) rotateX(90deg);
-moz-transform: translateY(-100px) rotateX(90deg);
-ms-transform: translateY(-100px) rotateX(90deg);
-o-transform: translateY(-100px) rotateX(90deg);
transform: translateY(-100px) rotateX(90deg);
}
.five{
background: pink;
-webkit-transform: translateZ(100px);
-moz-transform: translateZ(100px);
-ms-transform: translateZ(100px);
-o-transform: translateZ(100px);
transform: translateZ(100px);
}
.sex{
background: orange;
-webkit-transform: translateZ(-100px);
-moz-transform: translateZ(-100px);
-ms-transform: translateZ(-100px);
-o-transform: translateZ(-100px);
transform: translateZ(-100px);
}
</style>
</head>
<body>
<div class="box">
<p class="one">1</p>
<p class="two">2</p>
<p class="three">3</p>
<p class="four">4</p>
<p class="five">5</p>
<p class="sex">6</p>
</div>
</body>
</html>