html

<div class="ball-box">
<div class="ball">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
<div class="line4"></div>
<div class="line5"></div>
</div>
</div>

css

<style type="text/css">
body{
background-color: #000000;
}
.ball-box{
width: 300px;
height: 300px;
position: absolute;
left: 50%;
top: 50%;
margin: -150px 0 0 -150px;
-webkit-perspective-origin: 50% 50%;
-moz-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
-o-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
-webkit-perspective: 3000px;
-moz-perspective: 3000px;
-ms-perspective: 3000px;
-o-perspective: 3000px;
perspective: 3000px;
}
@-webkit-keyframes rotate3d {
0%{
-webkit-transform: rotateZ(-30deg) rotateY(0deg);
-moz-transform: rotateZ(-30deg) rotateY(0deg);
-ms-transform: rotateZ(-30deg) rotateY(0deg);
-o-transform: rotateZ(-30deg) rotateY(0deg);
transform: rotateZ(-30deg) rotateY(0deg);
}
100%{
-webkit-transform: rotateZ(-30deg) rotateY(360deg);
-moz-transform: rotateZ(-30deg) rotateY(360deg);
-ms-transform: rotateZ(-30deg) rotateY(360deg);
-o-transform: rotateZ(-30deg) rotateY(360deg);
transform: rotateZ(-30deg) rotateY(360deg);
}
}
@-moz-keyframes rotate3d {
0%{
-webkit-transform: rotateZ(-30deg) rotateY(0deg);
-moz-transform: rotateZ(-30deg) rotateY(0deg);
-ms-transform: rotateZ(-30deg) rotateY(0deg);
-o-transform: rotateZ(-30deg) rotateY(0deg);
transform: rotateZ(-30deg) rotateY(0deg);
}
100%{
-webkit-transform: rotateZ(-30deg) rotateY(360deg);
-moz-transform: rotateZ(-30deg) rotateY(360deg);
-ms-transform: rotateZ(-30deg) rotateY(360deg);
-o-transform: rotateZ(-30deg) rotateY(360deg);
transform: rotateZ(-30deg) rotateY(360deg);
}
}
@-ms-keyframes rotate3d {
0%{
-webkit-transform: rotateZ(-30deg) rotateY(0deg);
-moz-transform: rotateZ(-30deg) rotateY(0deg);
-ms-transform: rotateZ(-30deg) rotateY(0deg);
-o-transform: rotateZ(-30deg) rotateY(0deg);
transform: rotateZ(-30deg) rotateY(0deg);
}
100%{
-webkit-transform: rotateZ(-30deg) rotateY(360deg);
-moz-transform: rotateZ(-30deg) rotateY(360deg);
-ms-transform: rotateZ(-30deg) rotateY(360deg);
-o-transform: rotateZ(-30deg) rotateY(360deg);
transform: rotateZ(-30deg) rotateY(360deg);
}
}
@-o-keyframes rotate3d {
0%{
-webkit-transform: rotateZ(-30deg) rotateY(0deg);
-moz-transform: rotateZ(-30deg) rotateY(0deg);
-ms-transform: rotateZ(-30deg) rotateY(0deg);
-o-transform: rotateZ(-30deg) rotateY(0deg);
transform: rotateZ(-30deg) rotateY(0deg);
}
100%{
-webkit-transform: rotateZ(-30deg) rotateY(360deg);
-moz-transform: rotateZ(-30deg) rotateY(360deg);
-ms-transform: rotateZ(-30deg) rotateY(360deg);
-o-transform: rotateZ(-30deg) rotateY(360deg);
transform: rotateZ(-30deg) rotateY(360deg);
}
}
@keyframes rotate3d {
0%{
-webkit-transform: rotateZ(-30deg) rotateY(0deg);
-moz-transform: rotateZ(-30deg) rotateY(0deg);
-ms-transform: rotateZ(-30deg) rotateY(0deg);
-o-transform: rotateZ(-30deg) rotateY(0deg);
transform: rotateZ(-30deg) rotateY(0deg);
}
100%{
-webkit-transform: rotateZ(-30deg) rotateY(360deg);
-moz-transform: rotateZ(-30deg) rotateY(360deg);
-ms-transform: rotateZ(-30deg) rotateY(360deg);
-o-transform: rotateZ(-30deg) rotateY(360deg);
transform: rotateZ(-30deg) rotateY(360deg);
}
}
.ball{
height: 100%;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-animation: rotate3d 30s linear infinite;
-moz-animation: rotate3d 30s linear infinite;
-ms-animation: rotate3d 30s linear infinite;
-o-animation: rotate3d 30s linear infinite;
animation: rotate3d 30s linear infinite;
}
.ball:after{
display: block;
content: '';
width: 1px;
height: 500px;
background-color: #ff0;
position: absolute;
top: -100px;
left: 150px;
}
.ball > div{
border: 1px #ffffff solid;
position: absolute;
width: 100%;
height: 100%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%;
}
.ball .line1{
-webkit-transform: rotateY(0deg);
-moz-transform: rotateY(0deg);
-ms-transform: rotateY(0deg);
-o-transform: rotateY(0deg);
transform: rotateY(0deg);
}
.ball .line2{
-webkit-transform: rotateY(36deg);
-moz-transform: rotateY(36deg);
-ms-transform: rotateY(36deg);
-o-transform: rotateY(36deg);
transform: rotateY(36deg);
}
.ball .line3{
-webkit-transform: rotateY(72deg);
-moz-transform: rotateY(72deg);
-ms-transform: rotateY(72deg);
-o-transform: rotateY(72deg);
transform: rotateY(72deg);
}
.ball .line4{
-webkit-transform: rotateY(108deg);
-moz-transform: rotateY(108deg);
-ms-transform: rotateY(108deg);
-o-transform: rotateY(108deg);
transform: rotateY(108deg);
}
.ball .line1{
-webkit-transform: rotateY(144deg);
-moz-transform: rotateY(144deg);
-ms-transform: rotateY(144deg);
-o-transform: rotateY(144deg);
transform: rotateY(144deg);
}
</style>

CSS3实现3D球体旋转动画的更多相关文章

  1. CSS3实现3D木块旋转动画

    CSS3实现3D木块旋转动画,css3特效,旋转动画,3D,立体效果,CSS3实现3D木块旋转动画是一款迷人的HTML5+CSS3实现的3D旋转动画. 代码下载:http://www.huiyi8.c ...

  2. 基于css3的3D立方体旋转特效

    今天给大家分享一款基于css3的3D立方体旋转特效.这款特效适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器.效果图如下 : ...

  3. 超绚丽CSS3多色彩发光立方体旋转动画

    CSS3添加了几个动画效果的属性,通过设置这些属性,可以做出一些简单的动画效果而不需要再去借助JavaScript.css3动画的属性主要分为三类:transform.transition以及anim ...

  4. HTML5 CSS3 诱人的实例: 3D立方体旋转动画

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/34120047 创意来自:http://www.html5tricks.com/d ...

  5. jquery和CSS3带倒影的3D万花筒旋转动画特效效果演示

    <!DOCTYPE html> <html> <head> <title></title> <meta charset='utf-8' ...

  6. jquery+css3实现3d滚动旋转

    最近有个漂亮妹子一直在向我推销潭州的视频,BUT我以前就看了一次觉得挺水的,就对那个妹子表示吾孤高.你们那玩意没意义的很弱.然后那个漂亮妹子锲而不舍的对我发链接,这个效果会吗,这个幻灯会写吗...我也 ...

  7. Js_实现3D球体旋转

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

  8. 3D立方体旋转动画

    在线演示 本地下载

  9. 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转

    基于css3新属性transform,实现3d立方体的旋转 通过原生JS,点击事件,鼠标按下.鼠标抬起和鼠标移动事件,实现3d立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠 ...

随机推荐

  1. SQA和测试

    一.SQA计划 (1)软件工程:设计出云医院页面和其功能. (2)质量保证:进行需求分析,使用户确信产品或服务能满足规定的质量要求. (3)质量控制:采取不断的调试完善代码和程序确保产品质量. (4) ...

  2. Android(java)学习笔记42:Map集合的获取功能

    1. Map集合的获取功能:  package cn.itcast_01; import java.util.Collection; import java.util.HashMap; import ...

  3. Haskell 与范畴论-函子、态射、函数

    范畴论基本概念 如果你是第一次听说范畴论(category theory),看到这高大上的名字估计心里就会一咯噔,到底数学威力巨大,光是高等数学就能让很多人噩梦连连.和搞编程的一样,数学家喜欢将问题不 ...

  4. swift 协议(结合扩展)的特点

    协议的传统实现: 定义接口+实现协议    由抽象到具体: 协议的逆向实现(使用扩展): 由已存在的类型抽离部分功能作为协议,并让原体符合协议: 由具体到抽象:  向上抽离:  向上生成: 协议的缺省 ...

  5. Manacher算法模板

    题目描述 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 输入输出格式 输入格式: 一行小写英文字符a,b,c...y,z组成的字符串S 输出格 ...

  6. HDU 5723 Abandoned country 【最小生成树&&树上两点期望】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=5723 Abandoned country Time Limit: 8000/4000 MS (Java/ ...

  7. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 A、Saving Tang Monk II 【状态搜索】

    任意门:http://hihocoder.com/problemset/problem/1828 Saving Tang Monk II 时间限制:1000ms 单点时限:1000ms 内存限制:25 ...

  8. 【洛谷P1265】公路修建

    公路修建 题目链接 分析题意,可以发现,在(1)的条件下,(2)的情况是不会发生的, 于是直接求MST(Min Set Tree) 然而稠密图克鲁斯卡尔会TLE,建图还会爆空间, 所以用prime,用 ...

  9. hbase 数据拷贝

    由于运营数据太大,另外避免影响正常访问,所以需要临时拷贝部分数据到临时表中. bin/hbase org.apache.hadoop.hbase.mapreduce.CopyTable [--star ...

  10. iOS:常用属性、方法

    前言:一段时间没接触,很容易就忘记以前的知识.专写一篇,供几个月没接触,拿起却忘记了. 0.宏定义.系统相关 0-1).宏定义.规范 变量: //全局变量通常用小写g来提示 int gNumb=0; ...