css3图片与文字3D transform切换:

  http://www.w3cplus.com/demo/419.html

详细的CSS3属性详解:

  http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-transition/

总结如下:

1、需要使用到的CSS3属性

    透视和视角:perspective:8000px;  -------------放在舞台上(.box)

    需要用到transform的3D变换,即:transform-style:preserve-3d;-------------------------放在容器上(.inner)

    translateZ,Z坐标移动,这个需要与perspective搭配使用,transform:translateZ(150px) 里面的数值为舞台高度的一半

    rotateX,X方向旋转----------------------刚开始去.r2进行旋转-90度使其看不见,rotate(-90deg)

html布局:

    <div class="box">
<div class="inner">
<div class="r1">1</div>
<div class="r2">2</div>
</div>
</div>

CSS:

  /*舞台*/
    .box {
      width: 500px;
      height: 300px;
      position: relative;
      -webkit-perspective:8000px;   //透视和视角
      }
  /*容器*/
    .inner {
      width: 100%;
      height: 100%;
      -webkit-transform-style:preserve-3d;    //3d变换
      transition:.6s;
    }
  /*内容*/
    .r1 {
      position: absolute;
      width: 100%;
      height: 100%;
      background: red;
      outline:5px solid #000;
      -webkit-transform:translateZ(150px);    // 里面的数值 = 舞台高度的一半
    }
    .r2 {
      position: absolute;
      width: 100%;
      height: 100%;
      background: yellow;
      outline: 5px solid blue;
      -webkit-transform:rotateX(-90deg) translateZ(150px);  //里面的数值 = 舞台高度的一半,刚开始通过rotateX(-90deg)隐藏在下方
    }

  /*交互*/

    .inner:hover {
      -webkit-transform: rotateX(90deg);   //让r2出现
    }

如果需要左右翻转,只需要更改rotateX为rotateY,translateZ(宽度的一半)

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

另一种翻转效果,结构不变,样式如下:

        .box {
width: 300px;
height: 300px;
-webkit-perspective:8000px; /*设置舞台:透视和视角*/
position: relative;
}
.inner {
width: 100%;
height: 100%;
-webkit-transform-style:perserve-3d; /*设置场景:3d变换*/ }
.inner div{
position: absolute; /*绝对定位:使正面和反面全部重合*/
top:;
left:;
width: 100%;
height: 100%;
border-radius:50%;
text-align: center;
line-height: 300px;
-webkit-backface-visibility:hidden; /*背面隐藏*/
}
.r1 {
background: red;
-webkit-transition:1.5s; /*设置动画*/
}
.r2 {
background: yellow;
-webkit-transform:rotateY(180deg); /*刚开始,背面隐藏*/
-webkit-transition:1.5s; }
.inner:hover .r1{
-webkit-transform:rotateY(180deg); /*翻转后,正面隐藏,反面出现*/ }
.inner:hover .r2 {
-webkit-transform:rotateY(0deg); }

http://jsbin.com/muxal/2/edit

原理:

  1、设置舞台和场景

  2、使用绝对定位使正面和反面的div重合,让正面和反面的背面都隐藏,即:backface-visibility:hidden

  3、让反面的旋转180deg先隐藏掉,当hover时,正面隐藏(旋转180deg),反面出现(旋转到0)

CSS3的翻转效果的更多相关文章

  1. css3 3d翻转效果

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

  2. css3实现色子自动翻转效果

    原文:css3实现色子自动翻转效果 css3使我们能够跳出2d空间,实现3维空间的动画效果,这里给出一个自动翻转的3d色子动画效果制作过程. 第一步,首先进行HTML的布局,对于3D效果,布局有一定的 ...

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

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

  4. 使用JS与CSS3的翻转实现3D翻牌效果

    之前我们有讨论过使用CSS3如何实现网页水平翻转的效果,而这次我们介绍的是翻转效果更深一层的应用——3D翻牌效果. 这里我们需要使用flip中轴翻转实现,又因为是3D效果,如果希望呈现一定的3D视角, ...

  5. flip 翻转效果 css3实现

    1.实现代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...

  6. css3 利用perspective实现翻页效果和正方体 以及翻转效果

    要点: 1 实现3D效果就需要使用perspective属性 1 页面旋转使用css3的rorate 2 使用backface-visibility 实现正面元素翻转之后背面不可见,显示出反面的元素 ...

  7. css3实现3D立体翻转效果

    1.在IE下无法显示翻转效果,火狐和谷歌可以 /*样式css*/ .nav-menu li { display: inline; } .nav-menu li a { color: #fff; dis ...

  8. CSS3实现翻转菜单效果

    演示地址 点击打开链接 注意:菜单翻转效果在搜狗浏览器上看不出来.推荐用FireFox <!DOCTYPE   html   PUBLIC   "-//W3C//DTD XHTML 1 ...

  9. css3图片3D翻转效果

    点击图片看翻转效果 html结构 <div class="flip"> <div class="front"> <img src= ...

随机推荐

  1. iOS开发-OC语言 (二)类的设计

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0. ...

  2. Docker集群实验环境布署--swarm【4 管理组件--manager】

    主机分配如下,支持双活,中断其中1台,primary会通过consul自动重新选举   10.40.100.141 docker-manager0.venic.com 10.40.100.142 do ...

  3. node.JS中配置http-server

    http-server 是一个简单的HTTP服务器, 基于 nodeJs,在nodejs命令行中配置http服务器. 项目结构:

  4. cocos2d-x中DrawNode常见的图像绘制函数

    //绘制矩形  ('起始点' , '目标点' , '填充颜色') auto rect=DrawNode::create(); rect->drawRect(Vec2(0,0),Vec2(100, ...

  5. 东秦C#课设002-简单的文本编辑器

    //加入的拖拽属性失败,dropenter声明方法待查. using System; using System.Collections.Generic; using System.ComponentM ...

  6. QGIS

    project(GisFreeMap) set(CMAKE_BUILD_TYPE Debug) find_package(Qt4 REQUIRED QtCore QtGui QtXml) includ ...

  7. nvl isnull coalesce

    oracle 的NVL(col,0)是判断如果col字段为空的时候赋值0. postgresql里也有类似的方法 SELECT coalesce(collect_result,0) as collec ...

  8. PHP引用操作以及外部操作函数的局部静态变量的方法

    通过引用方式在外部操作函数或成员方法内部的静态变量 下面举个简单的例子,说明三个关于引用方面的问题: 1. 参数引用后函数内进行类型转换同样是地址操作 2. 参数引用后再传递给其他函数时需要再次添加引 ...

  9. 一个简单sql注入的poc

    最近在提高自己编程能力,拿一些实用的小工具练下.该脚本为python语言,主要涉及模块urllib,re. 功能:验证CmsEasy5.5爆账号密码 实验用源码:http://pan.baidu.co ...

  10. Chapter 17_2 备忘录函数

    一项通用的编程技术:用空间换时间. 例如有一种做法就可以提高一些函数的运行速度,记录下函数计算的结果,当再次调用该函数时,便可以复用之前的结果. 比如,一个普通服务器,在它收到请求中包含Lua代码,会 ...