html:
(1)用cube总容器,装载六个div容器分别装下图片
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../css/reset.css">
<link rel="stylesheet" href="../css/124复仇者联盟.css">
</head>
<body>
<div class="cube">
<div class="box1">
<img src="../img/1.jpg" alt="">
</div>
<div class="box2">
<img src="../img/2.jpg" alt="">
</div>
<div class="box3">
<img src="../img/3.jpg" alt="">
</div>
<div class="box4">
<img src="../img/4.jpg" alt="">
</div>
<div class="box5">
<img src="../img/5.jpg" alt="">
</div>
<div class="box6">
<img src="../img/6.jpg" alt="">
</div>
</div>
</body>
</html>
css:
(1)要给html写上,perspective: 800px; 写上视距
(2)给总容器cube,旋转时使用transform-style: preserve-3d;否者旋转时,只有单个图片的2d,无法看出图片旋转
(3)给所有的.cube>div,设置大小,为了使所有图片叠在一块,设置position: absolute;
(4)设置图片img,因为有margin统一设置,所以会设不到一块,vertical-align: top;
(5)设置.box1 ,transform: ;设置rotateY(0deg);绕着Y轴旋转上去,然后沿着Z轴移动100px;因为旋转一面之后,轴也会发生变化,剩下的同理
(6)@keyframe pic {} 设置旋转的起始位置
html {
perspective: 800px;
}
.cube {
width: 200px;
height: 200px;
margin: 100px auto;
transform-style: preserve-3d;
animation: pic 4s linear infinite ;
}
.cube>div {
position: absolute;
opacity: 0.7;
width: 200px;
height: 200px;
}
img {
vertical-align: top;
}
.box1 {
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: rotateX(180deg) translateZ(100px);
}
.box6 {
transform: rotateX(0deg) translateZ(100px);
}
@keyframes pic{
from {
transform: rotateX(0) rotateZ(0);
}
to {
transform: rotateX(360deg) rotateZ(360deg);
}
}