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立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠 ...
随机推荐
- { ($0, Resolver($0.box)) }(Promise<T>(.pending)):闭包的定义与执行合一
public class func pending() -> (promise: Promise<T>, resolver: Resolver<T>) { return ...
- HDU 3613 扩展KMP
暴力枚举大水题,判断回文,扩展KMP #include <cstdio> #include <cstring> #include <algorithm> using ...
- 去掉谷歌浏览器 video标签下的下载按钮
一.判断浏览器版本(区分谷歌和360浏览器) function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字 ...
- 利用firebug 查看JS方法, JS 调试
“DOM” 可以查看变量和方法. “脚本”可以用来调试js方法. 有空总结一下白鹤堂老师的最牛JavaScript.
- 【洛谷P2168】[NOI2015]荷马史诗
荷马史诗 建一个k叉哈夫曼树,用堆维护一下 // luogu-judger-enable-o2 #include<iostream> #include<cstdio> #inc ...
- 旧文备份:FFTW介绍
1. FFTW介绍 FFTW由麻省理工学院计算机科学实验室超级计算技术组开发的一套离散傅立叶变换(DFT)的计算库,开源.高效和标准C语言编写的代码使其得到了非常广泛的应用,Intel的数学库和Sci ...
- 课时90.div和span(掌握)
为什么在这里讲解div和span呢,而不在html中讲解呢? 因为在我们的开发中div和span一般是配合css来使用的,来完成一定的效果,来设置一些属性,在前面我们没有学习css,所以体会不到它的效 ...
- SpringBoot非官方教程 | 第六篇:springboot整合mybatis
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-mybatis/ 本文出自方志朋的博客 本文主要 ...
- 为什么有IP还需要硬件地址,或者说为什么有硬件地址还需要IP
只用MAC 虽然每个设备都有唯一的硬件地址,但不都是MAC格式. 只用MAC的话理论上是可行的,但是其中 兼容不同的硬件地址,处理起来是非常困难的.而且数据链路层也没有必要处理网络层的逻辑. 只用IP ...
- SQL3120W 不能将xx的字段值转换成 INTEGER值
一次用DB2 Load/Import导入数据时,报错,提示SQL3120W 不能将xx的字段值转换成 INTEGER值,但目标列不可为空.未装入该行. 目标表: CREATE TABLE TEST( ...