CSS3实现3D球体旋转动画
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球体旋转动画的更多相关文章
- CSS3实现3D木块旋转动画
CSS3实现3D木块旋转动画,css3特效,旋转动画,3D,立体效果,CSS3实现3D木块旋转动画是一款迷人的HTML5+CSS3实现的3D旋转动画. 代码下载:http://www.huiyi8.c ...
- 基于css3的3D立方体旋转特效
今天给大家分享一款基于css3的3D立方体旋转特效.这款特效适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器.效果图如下 : ...
- 超绚丽CSS3多色彩发光立方体旋转动画
CSS3添加了几个动画效果的属性,通过设置这些属性,可以做出一些简单的动画效果而不需要再去借助JavaScript.css3动画的属性主要分为三类:transform.transition以及anim ...
- HTML5 CSS3 诱人的实例: 3D立方体旋转动画
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/34120047 创意来自:http://www.html5tricks.com/d ...
- jquery和CSS3带倒影的3D万花筒旋转动画特效效果演示
<!DOCTYPE html> <html> <head> <title></title> <meta charset='utf-8' ...
- jquery+css3实现3d滚动旋转
最近有个漂亮妹子一直在向我推销潭州的视频,BUT我以前就看了一次觉得挺水的,就对那个妹子表示吾孤高.你们那玩意没意义的很弱.然后那个漂亮妹子锲而不舍的对我发链接,这个效果会吗,这个幻灯会写吗...我也 ...
- Js_实现3D球体旋转
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 3D立方体旋转动画
在线演示 本地下载
- 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
基于css3新属性transform,实现3d立方体的旋转 通过原生JS,点击事件,鼠标按下.鼠标抬起和鼠标移动事件,实现3d立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠 ...
随机推荐
- SQA和测试
一.SQA计划 (1)软件工程:设计出云医院页面和其功能. (2)质量保证:进行需求分析,使用户确信产品或服务能满足规定的质量要求. (3)质量控制:采取不断的调试完善代码和程序确保产品质量. (4) ...
- Android(java)学习笔记42:Map集合的获取功能
1. Map集合的获取功能: package cn.itcast_01; import java.util.Collection; import java.util.HashMap; import ...
- Haskell 与范畴论-函子、态射、函数
范畴论基本概念 如果你是第一次听说范畴论(category theory),看到这高大上的名字估计心里就会一咯噔,到底数学威力巨大,光是高等数学就能让很多人噩梦连连.和搞编程的一样,数学家喜欢将问题不 ...
- swift 协议(结合扩展)的特点
协议的传统实现: 定义接口+实现协议 由抽象到具体: 协议的逆向实现(使用扩展): 由已存在的类型抽离部分功能作为协议,并让原体符合协议: 由具体到抽象: 向上抽离: 向上生成: 协议的缺省 ...
- Manacher算法模板
题目描述 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 输入输出格式 输入格式: 一行小写英文字符a,b,c...y,z组成的字符串S 输出格 ...
- HDU 5723 Abandoned country 【最小生成树&&树上两点期望】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=5723 Abandoned country Time Limit: 8000/4000 MS (Java/ ...
- ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 A、Saving Tang Monk II 【状态搜索】
任意门:http://hihocoder.com/problemset/problem/1828 Saving Tang Monk II 时间限制:1000ms 单点时限:1000ms 内存限制:25 ...
- 【洛谷P1265】公路修建
公路修建 题目链接 分析题意,可以发现,在(1)的条件下,(2)的情况是不会发生的, 于是直接求MST(Min Set Tree) 然而稠密图克鲁斯卡尔会TLE,建图还会爆空间, 所以用prime,用 ...
- hbase 数据拷贝
由于运营数据太大,另外避免影响正常访问,所以需要临时拷贝部分数据到临时表中. bin/hbase org.apache.hadoop.hbase.mapreduce.CopyTable [--star ...
- iOS:常用属性、方法
前言:一段时间没接触,很容易就忘记以前的知识.专写一篇,供几个月没接触,拿起却忘记了. 0.宏定义.系统相关 0-1).宏定义.规范 变量: //全局变量通常用小写g来提示 int gNumb=0; ...