css3实现酷炫的3D盒子翻转效果
简介
运用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观看]
若有不足之处,欢迎小伙伴指正!