css3 transition cube(立方体翻转效果)
来源:互联网 发布:台湾能独立吗 知乎 编辑:程序博客网 时间:2024/05/16 07:54
一.构建页面
<div class="container perspective"> <div class="transition effect1 card"> <div class="cube-front front"><img src="../assets/1.jpg"/></div> <div class="cube-top back"><img src="../assets/2.jpg"/></div> <div class="cube-bottom back"><img src="../assets/3.jpg"/></div> <div class="cube-right back"><img src="../assets/4.jpg"/></div> <div class="cube-left back"><img src="../assets/5.jpg"/></div> <div class="cube-back back"><img src="../assets/1.jpg"/></div> </div> </div>立方体六个面,完全不用事先设置好,只不过是为了配合后面的CSS,可以用程序来控制其位置,用"三面法"就能做
每个立方体面对应的CSS如下
.effect1 .cube-front,.effect2 .cube-front{-webkit-transform:scale3d(.8,.8,.8) translate3d(0,0,212px);}.effect3 .cube-front,.effect4 .cube-front{-webkit-transform:scale3d(.8,.8,.8) translate3d(0,0,164px);} .cube-back{-webkit-transform:scale3d(.8,.8,.8) rotate3d(1,0,0,-180deg) translate3d(0,0,164px);}.cube-top{-webkit-transform:scale3d(.8,.8,.8) rotate3d(1,0,0,90deg) translate3d(0,0,212px);} .cube-bottom{-webkit-transform:scale3d(.8,.8,.8) rotate3d(1,0,0,-90deg) translate3d(0,0,212px);}.cube-right{-webkit-transform:scale3d(.8,.8,.8) rotate3d(0,1,0,90deg) translate3d(0,0,164px);}.cube-left{-webkit-transform:scale3d(.8,.8,.8) rotate3d(0,1,0,-90deg) translate3d(0,0,164px);}值得注意的是 .cube-front这个面,由于你上下翻动和左右翻动所对应的轴偏移量是不一样的(上下是212px=height/2,左右翻动是164=width/2)
而且还要值得注意的是,当左右和上下滚动切换的时候,图片大小会有变化,这个是由于在设置了perspective,这样的情况下,z的正偏移量越大,则图像就越大,就如上面说的,轴偏移量不同,所以导致图片大小会有所不同,如果说要完全处理掉这个问题的话,则需要在scale3d上做下功夫了,具体的比例公式还不清楚,就一个个试吧,比较常用的是0.825,0.858的scale比例
二.cube css3 翻转效果
/***************** Cube1 ********************/.effect1.show{-webkit-animation: cube1 0.5s ease-in-out;}@-webkit-keyframes cube1{0% { -webkit-transform: rotate3d(1,0,0,0); }100% { -webkit-transform: rotate3d(1,0,0,-90deg); }}/***************** Cube2 ********************/.effect2.show{-webkit-animation: cube2 0.5s ease-in-out;}@-webkit-keyframes cube2{0% { -webkit-transform: rotate3d(1,0,0,0); }100% { -webkit-transform: rotate3d(1,0,0,90deg); }}/***************** Cube3 ********************/.effect3.show{-webkit-animation: cube3 1s ease-in-out;}@-webkit-keyframes cube3{0% { -webkit-transform: rotate3d(0,1,0,0); }40% { -webkit-transform: rotate3d(0,1,0,-100deg); }60% { -webkit-transform: rotate3d(0,1,0,-84deg); }80% { -webkit-transform: rotate3d(0,1,0,-90deg); }95% { -webkit-transform: rotate3d(0,1,0,-88deg); }100% { -webkit-transform: rotate3d(0,1,0,-90deg); }}/***************** Cube4 ********************/.effect4.show{-webkit-animation: cube4 0.5s ease-in-out;}@-webkit-keyframes cube4{0% { -webkit-transform: rotate3d(0,1,0,0); }100% { -webkit-transform: rotate3d(0,1,0,90deg); }}
此外值得一提的是这个是伪立方体的效果,并不是真正的立方体效果,比如说要做长宽高为500,100,80的长方体的效果,用这个方法是没有用的,即使你设置对了参数,因为你旋转的时候可能造成各个面之间会有分开的感觉,毕竟是模拟,他不是真的。
- css3 transition cube(立方体翻转效果)
- HTML5+CSS3立方体3D翻转效果
- css3 transition effect(Flip翻转效果)
- Android 立方体翻转效果
- Css3 Transition动画效果
- CSS3 Transition 动画效果
- css3 transition效果
- css3 transition uncover (揭开效果)
- css3 transition unfold(折叠效果)
- css3 transition effect(其它效果)
- 详解CSS3 Transition动画效果
- css3的transition 过渡效果
- CSS3 过渡效果transition
- css3动画效果transform transition
- CSS3实现过渡效果 (transition)
- css3 图片翻转效果
- css3 图片翻转效果
- css3翻转效果
- 解决WINCE6.0新建工程编译出错的问题
- 关于"黑苹果" 的安装方法
- android listview 优化
- Android学习笔记(1)
- 该不该让Google收录WordPress的目录页和标签页?
- css3 transition cube(立方体翻转效果)
- DOS下的关机
- 什么是通道
- 枚举所有IE窗口,实现自动登录
- python入门指引
- x86中断
- 20130403-[转]One ELF Section per Function
- 状态压缩DP 题目小节 (一)
- Memcached 机制的深入了解 及 把SESSION 放入Memcached