效果图
代码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
html{
/* 为html设置视距才能开启透视效果 */
perspective: 800px;
}
.cube{
width: 200px;
height: 200px;
margin: 150px auto;
/* 设置transform-style为preserve-3d才能出现3d的旋转效果 */
transform-style: preserve-3d;
animation: rotate 5s infinite linear;
}
.cube div{
position: absolute;
/* opacity设置元素的透明效果 */
opacity: .7;
}
.cube img{
vertical-align: bottom;
}
.box1{
/* 正的度数指图片朝溢出屏幕方向沿y轴旋转 */
transform: rotateY(90deg) translateZ(100px);
}
.box2{
transform: rotateY(-90deg) translateZ(100px);
}
.box3{
transform: rotateX(90deg) translateZ(100px);
}
.box4{
transform: rotateX(-90deg) translateZ(100px);
}
.box5{
/* 第五张图片前后反转,移到背后 */
transform: rotateY(180deg) translateZ(100px);
}
.box6{
transform: translateZ(100px);
}
@keyframes rotate {
from{
transform: rotateX(0) rotateY(0) rotateZ(0);
}
to{
transform: rotateX(360deg) rotateY(360deg) rotateZ(0);
}
}
</style>
</head>
<body>
<div class="cube">
<div class="box1">
<img src="./img/1.jpg">
</div>
<div class="box2">
<img src="./img/2.jpg">
</div>
<div class="box3">
<img src="./img/3.jpg">
</div>
<div class="box4">
<img src="./img/4.jpg">
</div>
<div class="box5">
<img src="./img/5.jpg">
</div>
<div class="box6">
<img src="./img/6.jpg">
</div>
</div>
</body>
</html>