展开效果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
body{
perspective: 500px;
transform-style: preserve-3d;
}
div {
transform-style: preserve-3d;
width: 300px;
height: 300px;
}
.box1 {
background-color: rgba(255, 255, 0, .3);
/* opacity: .3; */
margin: 100px auto;
transform: rotateY(45deg);
}
.box2 {
background-color: magenta;
transform: rotateX(60deg);
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
</html>
闭合效果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>3D盒子</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
body {
perspective: 800px;
}
.bigbox {
position: relative;
width: 200px;
height: 200px;
transform-style: preserve-3d;
transform: rotateX(0deg) rotateY(0deg);
margin: 200px auto;
}
.face {
position: absolute;
width: 200px;
height: 200px;
border: 1px solid #000;
background-color: rgba(255, 255, 255, 0.7);
}
.box1 {
transform: translateZ(100px);
}
.box2 {
transform: rotateY(180deg) translateZ(100px);
}
.box3 {
transform: rotateY(-90deg) translateZ(100px);
}
.box4 {
transform: rotateY(90deg) translateZ(100px);
}
.box5 {
transform: rotateX(90deg) translateZ(100px);
}
/* 这里的 translateZ 应该是 -100px,因为我们是从上方看的 */
.box6 {
transform: rotateX(-90deg) translateZ(-100px);
}
</style>
</head>
<body>
<div class="bigbox">
<div class="face box1">1</div>
<div class="face box2">2</div>
<div class="face box3">3</div>
<div class="face box4">4</div>
<div class="face box5">5</div>
<div class="face box6">6</div>
</div>
</body>
</html>