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. ACM-ICPC (10/19)

    这两天在看虚树,的确很难理解. 不过大致的思路就是说删掉一些没有用的点,但是仍然保持树的相对结构,树上只有两种点,一个是集合点,和一些LCA,这些LCA是为了保持树的相对结构,才留下的. 具体做法网上 ...

  2. POJ 3308 最少点集覆盖

    题意:和Uva 11419 类似. 首先最少点集覆盖 = 最大匹配. 我们可以在 S 和行 的边 不是1,有了权值,但是题意要求的是乘积最小,那么可以用 log(a*b) = loga + logb ...

  3. 【字符串】跳来跳去的KMP匹配

    原理: 不给予证明啦(懒得一批 但是代码中有给还算详细的注释 参考:https://www.cnblogs.com/yjiyjige/p/3263858.html 模板题: 洛谷P3375: http ...

  4. 微信小程序已发布版本vconsole仍出现问题解决办法

    解决办法很简单,进入小程序的体验或者开发版,点击关闭调试,再次进入小程序,就不会出现了

  5. Object C学习笔记23-继承,重写,重载(转)

    前面的学习都一直在使用Object C对象,但是没有具体总结过Object C中的对象使用特性,这里简单总结一下. 一.  继承 在面向对象编程中,子类可以通过继承得到父类的可以继承的的属性和方法,在 ...

  6. web常用软件

    编辑器: VSCode HBuilder WebStorm NotePad++ Eclipse Atom 常用插件: SwitchyOmega Vue-Tools server类: tomcat Ng ...

  7. boost::shared_ptr文档翻译

    shared_ptr: 共享所有权 原文链接 描述 模版类 shared_ptr 存储动态构造对象的指针,通常是由C++ new语句完成的.这个对象指针在最后一个持有指针所有权的shared_ptr被 ...

  8. 关于mysql8.0.11版本在win10安装

    新的mysql版本没有.exe文件一键安装,网上找了教程,自己搞了下 首先是在菜鸟教程 http://www.runoob.com/mysql/mysql-install.html 根据它的提示下载w ...

  9. spring mvc中几种获取request对象的方式

    在使用spring进行web开发的时候,优势会用到request对象,用来获取访问ip.请求头信息等 这里收集几种获取request对象的方式 方法一:在controller里面的加参数 public ...

  10. 在Closing事件中,将e.Cancle设置成true,则Windows无法关机和重启系统的解决办法

    最近在设计一个WinForm程序的时候遇到一个bug,就是From1窗体的关闭事件中设置了e.Cancle设置成true,导致系统无法关机重启,windows7 和windows xp都是这样. 我这 ...