CSS3的翻转效果
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);
- }
原理:
1、设置舞台和场景
2、使用绝对定位使正面和反面的div重合,让正面和反面的背面都隐藏,即:backface-visibility:hidden
3、让反面的旋转180deg先隐藏掉,当hover时,正面隐藏(旋转180deg),反面出现(旋转到0)
CSS3的翻转效果的更多相关文章
- css3 3d翻转效果
<div class="demo"> <span class="front"> aaaaaaaaaaa ...
- css3实现色子自动翻转效果
原文:css3实现色子自动翻转效果 css3使我们能够跳出2d空间,实现3维空间的动画效果,这里给出一个自动翻转的3d色子动画效果制作过程. 第一步,首先进行HTML的布局,对于3D效果,布局有一定的 ...
- 简单几步用纯CSS3实现3D翻转效果
作为前端开发人员的必修课,CSS3翻转能带我们完成许多基本动效,本期我们将用CSS3实现hover翻转效果~ 第一步非常简单,我们简单画1个演示方块,为其 添加transition和transform ...
- 使用JS与CSS3的翻转实现3D翻牌效果
之前我们有讨论过使用CSS3如何实现网页水平翻转的效果,而这次我们介绍的是翻转效果更深一层的应用——3D翻牌效果. 这里我们需要使用flip中轴翻转实现,又因为是3D效果,如果希望呈现一定的3D视角, ...
- flip 翻转效果 css3实现
1.实现代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...
- css3 利用perspective实现翻页效果和正方体 以及翻转效果
要点: 1 实现3D效果就需要使用perspective属性 1 页面旋转使用css3的rorate 2 使用backface-visibility 实现正面元素翻转之后背面不可见,显示出反面的元素 ...
- css3实现3D立体翻转效果
1.在IE下无法显示翻转效果,火狐和谷歌可以 /*样式css*/ .nav-menu li { display: inline; } .nav-menu li a { color: #fff; dis ...
- CSS3实现翻转菜单效果
演示地址 点击打开链接 注意:菜单翻转效果在搜狗浏览器上看不出来.推荐用FireFox <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...
- css3图片3D翻转效果
点击图片看翻转效果 html结构 <div class="flip"> <div class="front"> <img src= ...
随机推荐
- 【Backbone】 Backbone初探
前言 在此之前研究了一段React,但是不得不承认React.Vue等MVVM框架相对于原有的Jquery来说,简直是翻天覆地的不同.它们之间的差异不仅仅体现在框架思维的不同,而是ES5到ES6的编程 ...
- OSI模型第四层传输层--TCP协议
1.传输层2个协议tcp和udp 2.tcp的可靠性(挂号信). 面向链接的:类似寄挂号信,对方收到了并且能够确认.所以也是可靠的传输. 最大报文传输:两端可以协商传输报文大小.(协商一个报文的大小) ...
- JavaEE XML DOM创建之DOM4J
DOM4J创建xml文档 @author ixenos 1 写出内容到xml文档 XMLWriter writer = new XMLWriter(OutputStream, OutputForamt ...
- 关于map()与filter()
def f1(a): if a == 3: pass else: return a*a li = [1,2,3,4] for i in filret(f1,li) print(i) def f1(a) ...
- 最简单的MFC
#include <SDKDDKVer.h> #include <afxwin.h> #include <afxext.h> #include <iostre ...
- equals和hashcode为什么要一起重写
equals()方法与hashCode()的通用协定是:2.1 如果两个对象相等(equal),那么必须拥有相同的哈希码(hash code)2.2 即使两个对象有相同的哈希值(hash code), ...
- VS2012及以上版本 程序打包部署详解
引用: http://blog.csdn.net/zhang_xinxiu/article/details/9099757 程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的 ...
- Signal and Slots
Signal and Slots 用于对象之间通信. 它是 Qt 的核心特性之一, 并且也是Qt 与其它框架差别最大的部分. 概述 在GUI编程中, 如果我们改变了一个控件, 我们可能想其它控件知道: ...
- c# 操作xml之xmlReader
xmlReader的名称空间using System.Xml; xmlReader是通过流的方式来读取xml文件的内容 <?xml version="1.0" encodin ...
- 递归——CPS(三)
JScript不是天然支持CPS,但是可以写一个分发引擎使得能工作在CPS风格下.一般只有一个活动的continuation,所以可以定义规则:JScript CPS 函数允许有返回,但是它们做的最后 ...