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观看]

若有不足之处,欢迎小伙伴指正!

原文地址:https://www.cnblogs.com/lodadssd/p/6178578.html