css3实现酷炫的3D盒子翻转效果

时间:2024-01-19 10:22:38

简介

运用css3先在平面空间组成立方体盒子,再让整个盒子翻转起来,先来张效果图:

css3实现酷炫的3D盒子翻转效果

步骤

1.先用css将6张图片摆成下图的样子:

css3实现酷炫的3D盒子翻转效果

下面就是通过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观看]

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