创建一个html
在<body></body>中创建div并为每个div添加图片
<body>
<div class="wrap">
<!-- 左右 -->
<div><img src="1.jpg"></div>
<div><img src="2.jpg"></div>
<!-- 上下 -->
<div><img src="3.jpg"></div>
<div><img src="4.jpg"></div>
<!-- 前后 -->
<div><img src="5.jpg"></div>
<div><img src="6.jpg"></div>
</div>
</body>
设置div基本格式在<style></style>中
* {
margin: 0;
padding: 0;
}
div {
width: 200px;
height: 200px;
background-color: skyblue;
line-height: 200px;
text-align: center;
color: white;
font-size: 100px;
position: absolute;
}
.wrap {
padding: 100px;
background-color: transparent;
}
设置图片大小在<style></style>中
img{
width:200px;
height:200px;
}
设置每个页面旋转平移变化
/*wrap中第一个div*/
.wrap div:nth-of-type(1) {
/*沿Y轴旋转 沿Z轴平移*/
transform: rotateY(-90deg) translateZ(100px);
}
.wrap div:nth-of-type(2) {
transform: rotateY(90deg) translateZ(100px);
}
.wrap div:nth-of-type(3) {
transform: rotateX(90deg) translateZ(100px);
}
.wrap div:nth-of-type(4) {
transform: rotateX(-90deg) translateZ(100px);
}
.wrap div:nth-of-type(5) {
transform: translateZ(100px);
}
.wrap div:nth-of-type(6) {
transform: rotateX(180deg) translateZ(100px);
}
定义关键帧动画
/* 定义关键帧动画 */
/* @keyframes 动画名 {
关键帧
} */
@keyframes roll {
from {
transform: rotateX(0) rotateY(0) rotateZ(0);
}
to {
transform: rotateX(360deg) rotateY(720deg) rotateZ(360deg);
}
}
添加动画到wrap,开启3D动画效果
.wrap {
padding: 100px;
background-color: transparent;
transform-style: preserve-3d; /*开启3D效果*/
/* animation: 动画名 动画执行时间
[动画延迟时间 动画运动曲线 运动次数 是否反向执行 是否保留最后一帧] */
animation: roll 8s ;
}
最终效果如下: