demo地址

效果图

在别人网站上看到一个立体旋转的例子,然后突然想到自己前几天学习的css3旋转,就试着做了一个例子,看起来有一些粗糙。

html结构很简单:

<div>
<ul class="ani">
<li class="r1"></li>
<li class="r2"></li>
<li class="r3"></li>
<li class="r4"></li>
<li class="r5"></li>
<li class="r6"></li>
</ul>
</div>

核心是一个ul,li列表,其中6个li通过不同的属性设置分别构成立方体的6个面,然后外围ul沿Y轴旋转,当然你也可以任意设置。

关于transform更多讲解,请看transform应用详解   另外还可参考案例css3+js打造炫酷图片展示

注意,在做立体效果时一定注意在父元素添加transform-style: preserve-3d;属性,字面理解 变换形式,3d透视与平面,当设置为flat时,表示在flat平面变换。

下面主要是css属性设置,

 *{margin:0px;padding:0px}
body{background-color:#}
div{-webkit-perspective:;-webkit-transform-style: preserve-3d;position:absolute;top:%;left:%;}
ul{position:absolute;left:0px;top:0px;-webkit-transform:translate(-%,-%);width:200px;height:200px; -webkit-transform-style: preserve-3d }
li{list-style-type:none;position:absolute;top:0px;left:0px;right:0px;bottom:0px;width:200px;height:200px;font-size:100px;text-align:center;line-height:200px;opacity:0.3;-webkit-transition: -webkit-transform 2s, opacity 2s;border:2px solid #C09;box-shadow:1px 1px 10px #C09; -webkit-backface-visibility: visible;color:#fff}
.ani{ -webkit-animation: rotaY 5s infinite linear;}
@-webkit-keyframes rotaY{
from{-webkit-transform:rotateY(0deg) }
to{-webkit-transform:rotateY(-360deg) }
}
@-webkit-keyframes rotaX{
from{-webkit-transform:rotateX(0deg)}
to{-webkit-transform:rotateX(-360deg)}
}
@-webkit-keyframes rotaZ{
from{-webkit-transform:rotateZ(0deg)}
to{-webkit-transform:rotateZ(-360deg)}
} .r1{-webkit-transform:translateZ(100px)}
.r2{-webkit-transform:rotateY(90deg) translateZ(100px) }
.r3{-webkit-transform: rotateY(180deg) translateZ(100px)}
.r4{-webkit-transform: rotateY(-90deg)translateZ(100px) }
.r5{-webkit-transform: rotateX(90deg) translateZ(100px) }
.r6{-webkit-transform:rotateX(-90deg) translateZ(100px) }

有一点就是设置元素的水平垂直居中,absolute,top,left,translate即可方便搞定。

在构建正方体时,我们首先设置各个li元素为绝对定位,在这一步,这6个li元素是相互重合的,第二步设置translateZ与rotateY与rotateX,

可以想象一下,现在旋转中心在整个div的中心,当沿Y轴旋转90度时,这个页面是完全垂直于视平面的,这时候再加translateZ,这样就形成了我们的第一个面,距离中心100px,

其他面都是同样的道理,对于上下两个面则需要采用沿X轴旋转,但是他们距中心的距离是相同的即translateZ,这样分别设置每个元素的旋转方向和变换之后便形成了一个立方体。

如有问题及错误或者更好的解决办法,请联系我。

另自己新建立了一个qq群:85530789,欢迎志同道合的朋友一起多多交流技术。(现在好多技术群基本都聊不了多少真正的技术话题,失望了)

css3立体旋转动画的更多相关文章

  1. Android立体旋转动画实现与封装(支持以X、Y、Z三个轴为轴心旋转)

    本文主要介绍Android立体旋转动画,或者3D旋转,下图是我自己实现的一个界面 立体旋转分为以下三种: 1. 以X轴为轴心旋转 2. 以Y轴为轴心旋转 3. 以Z轴为轴心旋转--这种等价于andro ...

  2. css3立体旋转菜单

    css3立体旋转菜单,css3,3D,立体旋转,立体菜单,菜单导航,css3立体旋转菜单是一款纯css3实现的三维立体旋转导航菜单. 源码下载页:http://www.huiyi8.com/sc/71 ...

  3. css3制作旋转动画

    现在的css3真是强大,之前很多动画都是用jq来实现,但是css3制作的动画要比jq实现起来简单很多,今天呢,我自己也写了一个css旋转动画和大家分享.效果如下面的图片 思路:1.制作之前呢,我们先来 ...

  4. [css3]圆盘旋转动画

    效果:打开只能看到logo,鼠标放上去,圆盘渐显放大旋转展示出来 知识点: [html+css] 1.logo水平垂直居中于圆盘内,用到的样式 position: absolute; left: 0; ...

  5. css3 3d旋转动画

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. Css3 3D 旋转动画效果

    需求: 1.一个列表滑动效果为360 旋转 准备: 1.css 基础 2.Css 动画基础animation 3.transform-style概念 4 transform 概念 5 JavaScri ...

  7. css3立体旋转

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. CSS3 3D旋转动画代码实例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. CSS3 3D旋转动画菜单

    在线演示 本地下载

随机推荐

  1. Jquery.Datatables 基本设置的中文注解

    $(document).ready(function() { $('#example').dataTable({ "sScrollX": "100%", //表 ...

  2. ASP.NET MVC使用Bundle来打包压缩js和css

    Bundle它是用来将js和css进行压缩(多个文件可以打包成一个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原始方式显示出来,以方便查找问题. 1.BundleConfig配置Bundl ...

  3. Jquery 自定义弹窗等待

    (function ($) { $.extend({ //弹窗蒙层 ShowLoadDialog : function () { ) { var cusrtxt = $("<div i ...

  4. 【131031】<meta http-equiv=...> 的功能

    1.定义语言 格式: 〈meta http-equiv=″Content-Type″ content=″text/html; charset=gb2312″〉 这是META最常见的用法,在制作网页时, ...

  5. 运用ASMIOSTAT脚本监控asm disk磁盘性能

    1,脚本作用: 类似于OS的iostat检查磁盘的I/O性能,ASMIOSTAT 脚本用来检查ASM磁盘的性能, 2,下载AMSIOSTAT脚本http://files.cnblogs.com/fil ...

  6. android 相对布局里面的一些属性

    一.   有关于RelativeLayout布局的一些属性 1.  相对于兄弟控件的位置:android:layout_below Android:layout_toLeftof Android:la ...

  7. Java Thread join() 的用法

    Java Thread中, join() 方法主要是让调用改方法的thread完成run方法里面的东西后, 在执行join()方法后面的代码.示例: class ThreadTesterA imple ...

  8. LeetCode——Rotate Image(二维数组顺时针旋转90度)

      问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockw ...

  9. loj 1038(dp求期望)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25915 题意:求一个数不断地除以他的因子,直到变成1的时候 除的次 ...

  10. oracle本机登录不上dba的权限不足错误

    说明:因遇到“sqlplus / as sysdba”登录oracle时遇到权限不足(ora-01031)错误:百度到以下资料,原文链接: http://www.xifenfei.com/2011/1 ...