简介
运用css3先在平面空间组成立方体盒子,再让整个盒子翻转起来,先来张效果图:
步骤
1.先用css将6张图片摆成下图的样子:
下面就是通过css3的3D变换将每个面进行翻转,使之成为一个立体的盒子,代码如下:
//左面
.pic2{
transform:rotateY(90deg); //沿y轴翻转90度
transform-origin:right; //以右边为轴
} //前面
.pic6{
transform:translateZ(100%); //垂直屏幕向外移动立方体的长度
}
其他几个面按照同样的方式进行翻转就行
2.为整个立方体添加动画
三维的盒子完成后,只要为整个盒子添加动画,三维盒子就会跟着一起翻转达到了翻转的效果:
//自定义动画样式
@keyframes mySec{
0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg);} //按自己的要求添加样式,分割动画帧数
50%{transform:rotateX(230deg) rotateY(-20deg) rotateZ(-90deg);}
100%{transform:rotateX(-360deg) rotateY(360deg) rotateZ(-360deg);}
} //为容器添加样式
.myDiv{
animation:mySec 7s infinite; //调用动画
transform-style:preserve-3d; //指定容器嵌套元素三维呈现效果
perspective:1000px; //规定3D元素的透视效果
}
还可以为单个面应用动画,步骤同上,只要计算好动画持续及延迟时间就能达到酷炫的效果!
最终效果[不支持ie,请用chrome观看]
若有不足之处,欢迎小伙伴指正!