本案例主要是css3和html5,不会js也可以做动画◕.◕

一、涉及到的的样式

perspective

transform

transition

position

classList

codepenrunjs演示,代码和讲解在后面。

二、html结构

3个容器6个盒子,当鼠标经过时:

1.box1绕X轴(transform-origin默认容器中心),翻转180°至背面box2,鼠标移开翻回

2.box3绕Y轴(transform-origin默认容器中心),翻转180°至背面box4,鼠标移开翻回

3.box5,box6绕Z轴,(transform-origin分别为容器左右),翻转180°,鼠标移开翻回

<div class="container" ontouchstart="this.classList.toggle('hover');">
<div class="box box1">
<span>front</span>
</div>
<div class="box box2">
<span>back</span>
</div>
</div>
<div class="container" ontouchstart="this.classList.toggle('hover');">
<div class="box box3">
<span>front</span>
</div>
<div class="box box4">
<span>back</span>
</div>
</div>
<div class="container" ontouchstart="this.classList.toggle('hover');">
<div class="box box6">
<span>back</span>
</div>
<div class="box box5">
<span>front</span>
</div>
</div>

三、CSS样式

1.容器上加了perspective子元素box有透视效果

2.box2,box4是背面所以先翻转-180°,这样当翻到后面再翻回时符合正常视觉

3.每个box都加了backface-visibility:隐藏被旋转的 div 元素的背面

4.box5,box6,改了旋转中心点

<style>
.container{
perspective: 400px;
transform-style: preserve-3d;
}
.container, .box{
width: 150px;
height: 80px;
margin: 10px auto;
}
.box{
backface-visibility: hidden;
transition: 1s;
transform-style: preserve-3d;
position: absolute;
text-align: center;
}
.box1,.box3,.box5{background-color: pink;}
.box2,.box4,.box6{background-color: red;}
.box2{transform: rotateX(-180deg);}
.box4{transform: rotateY(-180deg);}
.box5{transform-origin:left;}
.box6{transform-origin:right;}
span{
font-size: 20px;
line-height: 80px;
}
.container:hover .box1{transform: rotateX(180deg);}
.container:hover .box2{transform: rotateX(0deg);}
.container:hover .box3{transform: rotateY(180deg);}
.container:hover .box4{transform: rotateY(0deg);}
.container:hover .box5{transform: rotateZ(180deg);}
.container:hover .box6{transform: rotateZ(-180deg);}
</style>

是不是很简单,接下来随意翻腾吧~

博客园:CSS3—3D翻转

CSS3—3D翻转的更多相关文章

  1. CSS3——3D翻转相册

    transform属性和transition过渡属性,结合jQuery代码实现翻转功能. <!DOCTYPE html> <html lang="en"> ...

  2. css3 3d翻转效果

    <div class="demo">       <span class="front">            aaaaaaaaaaa ...

  3. CSS3之图片3D翻转效果(网页效果--每日一更)

    今天,带来的是纯CSS3的效果--图片3D翻转. 请看效果:亲,请点击这里 这个效果主要还是运用了CSS3的transform变形属性,与上个效果不同的是,这次并不是动画,所以没有采用animatio ...

  4. 基于css3的文字3D翻转特效

    一款基于css3的文字3D翻转特效.这款特效当鼠标经过文字的时候3D翻转显示阴影.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="compo ...

  5. 简单几步用纯CSS3实现3D翻转效果

    作为前端开发人员的必修课,CSS3翻转能带我们完成许多基本动效,本期我们将用CSS3实现hover翻转效果~ 第一步非常简单,我们简单画1个演示方块,为其 添加transition和transform ...

  6. CSS3 3D立方体翻转菜单实现教程

    今天我们来看一个非常有创意的CSS3 3D菜单,这个菜单的菜单项是可以旋转的长方体,鼠标滑过是长方体即可旋转,看看下面的效果图,是不是感觉非常酷,我觉得这个菜单很适合用在咱们开发人员的个人网站上. 当 ...

  7. 一款纯css3实现的图片3D翻转幻灯片

    之前介绍了好多款网页幻灯片,今天要给大家再带来一款纯css3实现的图片3D翻转幻灯片.这款幻灯片图片轮播采用了3D翻转的形式,效果非常不错.一起看下效果图: 在线预览   源码下载 实现的代码. ht ...

  8. 纯css3响应式3d翻转菜单

    前端开发whqet,csdn,王海庆,whqet,前端开发专家 周末快乐哈,今天来看一个纯CSS3实现的3d翻转菜单.3d响应式菜单,希望对大家有所帮助. 在线赞赏效果.在线编辑代码,或者下载收藏. ...

  9. CSS3图片翻转切换案例及其中重要属性解析

    图片翻转切换,在不使用CSS3的情况下,一般都是使用JS实现动画,同时操作元素的width和left,或者height和top以模拟翻转的效果,并在适当时候改变src或者z-index实现图片切换. ...

随机推荐

  1. poj 1236 Network of Schools(连通图入度,出度为0)

    http://poj.org/problem?id=1236 Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Su ...

  2. [iOS 多线程 & 网络 - 1.3] - NSOperation

    A.NSOperation的基本使用 1.NSOperation的作用 配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperatio ...

  3. javascript中sleep等待实现

    function sleep(milliSeconds) { var startTime = new Date().getTime(); while (new Date().getTime() < ...

  4. oracle merge用法

    动机: 想在Oracle中用一条SQL语句直接进行Insert/Update的操作. 说明: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录 ...

  5. java tools: jstat

    JavaScript is not supported by your browser. JavaScript support is required for full functionality o ...

  6. PHP 中运用 elasticsearch

    PHP扩展安装 1. 环境要求:PHP_VERSION >= 5.3.9,composer工具 2. 在E盘新建文件夹命名为elastic,,拷贝composer.phar到      E:/e ...

  7. 再次理解JavaScript原型链和匿名函数

    <!--------------------------------------------- 1.演示匿名加载 2.js单进程执行流 3.原型链理解 a.__proto__:属性每个对象都有 ...

  8. POJ - 2965 - The Pilots Brothers&#39; refrigerator (高效贪心!!)

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19356 ...

  9. [Angular 2] Value Providers & @Inject

    Dependecies aren’t always objects created by classes or factory functions. Sometimes, all we really ...

  10. cocos2d-x 资源路径研究

    调用cc.FileUtils:getInstance():addSearchResolutionsOrder("src"); 加入�一个搜索路径,就能够直接载入src文件夹下的资源 ...