通过使用css3实现让元素椭圆运动。而不是圆形运动。

效果1:http://sandbox.runjs.cn/show/ignefell

效果2:http://runjs.cn/code/w2wxjyeo

代码如下:

<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,user-scalable=no"><link rel="stylesheet" href="css/base.css"></head><body><style>html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}
ul,li,div,p,body{margin:0;padding:0;text-align:left;}
body, html {background:#001424;text-align: left;height: 100%;width: 100%;font-family: "Microsoft YaHei","Helvetica Neue",Arial, HelveticaNeue, "Helvetica-Neue", Helvetica, "BBAlpha Sans", sans-serif;font-size:62.5%;font-weight: normal;}
@-webkit-keyframes star_ani_00{
0%{
opacity: 0;
}
100%{
opacity: 1;
}
}
@keyframes star_ani_00{
0%{
opacity: 0;
}
100%{
opacity: 1;
}
}
@-webkit-keyframes star_ani_01{
0%,100%{
-webkit-transform: translateY(0rem);
}
50%{
-webkit-transform: translateY(-35rem);
}
}
@keyframes star_ani_01{
0%,100%{
transform: translateY(0rem);
}
50%{
transform: translateY(-35rem);
}
}
@-webkit-keyframes star_ani_02{
0%,100%{
-webkit-transform: translateX(0rem) scale(0.8);
}
50%{
-webkit-transform: translateX(10rem) scale(1);
}
}
@keyframes star_ani_02{
0%,100%{
transform: translateX(0rem) scale(0.8);
}
50%{
transform: translateX(10rem) scale(1);
}
}
@-webkit-keyframes star_ani_03{
0%,100%{
-webkit-transform: translateX(0rem);
}
50%{
-webkit-transform: translateX(-36rem);
}
}
@keyframes star_ani_03{
0%,100%{
transform: translateX(0rem);
}
50%{
transform: translateX(-36rem);
}
} @-webkit-keyframes star_ani_04{
0%,100%{
-webkit-transform: translateY(0rem) scale(0.8);
}
50%{
-webkit-transform: translateY(10.5rem) scale(1);
}
}
@keyframes star_ani_04{
0%,100%{
transform: translateY(0rem) scale(0.8);
}
50%{
transform: translateY(10.5rem) scale(1);
}
} @-webkit-keyframes star_ani_05{
0%,100%{
-webkit-transform: translateX(0rem);
}
50%{
-webkit-transform: translateX(-26.5rem);
}
}
@keyframes star_ani_05{
0%,100%{
transform: translateX(0rem);
}
50%{
transform: translateX(-26.5rem);
}
} @-webkit-keyframes star_ani_06{
0%,100%{
-webkit-transform: translateY(0rem) scale(0.8);
}
50%{
-webkit-transform: translateY(8rem) scale(1);
}
}
@keyframes star_ani_06{
0%,100%{
transform: translateY(0rem) scale(0.8);
}
50%{
transform: translateY(8rem) scale(1);
}
}
.main{
position: relative;
height:100%;
}
.wrap-icon{
position:absolute;
background-size: 100%;
background-repeat: no-repeat;
left:50%;
top: 12%;
z-index: 2;
opacity: 0;
} .wrap-icon1{
width: 2.7rem;
height: 2.7rem;
margin-left:-5.5rem;
margin-top: 28rem;
-webkit-animation:star_ani_00 0.5s 4s linear forwards;
animation:star_ani_00 0.5s 4s linear forwards;
}
.wrap-icon1 span{
width:2.7rem;
height:2.7rem;
display: block;
-webkit-animation:star_ani_02 16s 4s ease-in-out infinite;
animation:star_ani_02 16s 4s ease-in-out infinite;
}
.wrap-icon1 i{
width:1.5rem;
height:1.5rem;
border-radius:1.5rem;
display: block;
background:#f60;
background-size: 100% 100%;
-webkit-animation:star_ani_01 16s 0s ease-in-out infinite;
animation:star_ani_01 16s 0s ease-in-out infinite;
} .wrap-icon2{
width: 2.7rem;
height: 2.7rem;
margin-left: 17.8rem;
margin-top: 8rem;
-webkit-animation:star_ani_00 0.5s 5s linear forwards;
animation:star_ani_00 0.5s 5s linear forwards;
}
.wrap-icon2 span{
width:2.7rem;
height:2.7rem;
display: block;
-webkit-animation:star_ani_03 20s 0s ease-in-out infinite;
animation:star_ani_03 20s 0s ease-in-out infinite;
}
.wrap-icon2 i{
width:1.5rem;
height:1.5rem;
border-radius:1.5rem;
display: block;
background:#f60;
background-size: 100% 100%;
-webkit-animation:star_ani_04 20s 5s ease-in-out infinite;
animation:star_ani_04 20s 5s ease-in-out infinite;
} .wrap-icon3{
width: 2.7rem;
height: 2.7rem;
margin-left: 12.4rem;
margin-top: 9rem;
-webkit-animation:star_ani_00 0.5s 2.5s linear forwards;
animation:star_ani_00 0.5s 2.5s linear forwards;
}
.wrap-icon3 span{
width:2.7rem;
height:2.7rem;
display: block;
-webkit-animation:star_ani_05 10s 0s ease-in-out infinite;
animation:star_ani_05 10s 0s ease-in-out infinite;
}
.wrap-icon3 i{
width:2rem;
height:2rem;
border-radius:1rem;
display: block;
background:#f60;
background-size: 100% 100%;
-webkit-animation:star_ani_06 10s 2.5s ease-in-out infinite;
animation:star_ani_06 10s 2.5s ease-in-out infinite;
}
.wrap-bg{
width:28rem;
height:28rem;
position: absolute;
top:12%;
left:50%;
margin-left:-14rem;
border:0.1rem solid #aaa;
border-radius:28rem;
-webkit-transform:scale3d(1,0.3,1);
transform:scale3d(1,0.3,1);
}
.wrap-bg2{
width:36rem;
height:36rem;
position: absolute;
top:12%;
left:50%;
margin-left:-18rem;
margin-top:-4rem;
border:0.1rem solid #aaa;
border-radius:28rem;
-webkit-transform:scale3d(1,0.3,1);
transform:scale3d(1,0.3,1);
}
.wrap-bg3{
width:32rem;
height:32rem;
position: absolute;
top:12%;
left:50%;
margin-left:-16rem;
margin-top:-3rem;
-webkit-transform:rotate(4deg);
transform:rotate(4deg);
}
.wrap-bg3 span{
display: block;
width:100%;
height:100%;
border:0.1rem solid #aaa;
border-radius:28rem;
-webkit-transform:scale3d(0.32,1,1);
transform:scale3d(0.32,1,1);
}
.wrap-sun{
position: absolute;
width:5.3rem;
height:5.3rem;
top:12%;
left:50%;
margin-left:-2.6rem;
margin-top:11rem;
background:url(images/sun.png) no-repeat;
background-size: 100%;
}
</style><div class="box"> <div class="wrap-bg"></div>
<div class="wrap-bg2"></div>
<div class="wrap-bg3"><span></span></div> <div class="wrap-icon wrap-icon1">
<span><i></i></span>
</div> <div class="wrap-icon wrap-icon2">
<span><i></i></span>
</div> <div class="wrap-icon wrap-icon3">
<span><i></i></span>
</div> <div class="wrap-sun"></div> </div>
</body></html>

css3椭圆运动的更多相关文章

  1. 纯CSS3实现的一些酷炫效果

    之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的. 一.笑脸猫动画 实现效果如下: 这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整. 1.先看 ...

  2. CSS3 border-radius边框圆角

    在CSS3中提供了对边框进行圆角设定的支持,可对边框1~4个角进行圆角样式设置. 目录 1. 介绍 2. value值的格式和类型 3. border-radius 1~4个参数说明 4. 在线示例 ...

  3. CSS3 3D立方体效果-transform也不过如此

    CSS3系列已经学习了一段时间了,第一篇文章写了一些css3的奇技淫巧,原文戳这里,还获得了较多网友的支持,在此谢过各位,你们的支持是我写文章最大的动力^_^. 那么这一篇文章呢,主要是通过一个3D立 ...

  4. 三分钟学会用 js + css3 打造酷炫3D相册

    之前发过该文,后来不知怎么回事不见了,现在重新发一下. 中秋主题的3D旋转相册 如图,这是通过Javascript和css3来实现的.整个案例只有不到80行代码,我希望通过这个案例,让正处于迷茫期的j ...

  5. 使用CSS3实现一个3D相册

    CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一 ...

  6. Web大前端时代之:HTML5+CSS3入门系列

    准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTD ...

  7. 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...

  8. 前端制作动画的几种方式(css3,js)

    制作动态的网页是是前端工程师必备的技能,很好的实现动画能够极大的提高用户体验,增强交互效果,那么动画有多少实现方式,一直对此有选择恐惧症的我就总结一下,以便在开发的时候选择最好的实现方式. 1.css ...

  9. 原生js+css3实现图片自动切换,图片轮播

    运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...

随机推荐

  1. web tools for sublime

    Your code editor is your main development tool; you use it to write and save lines of code. Write be ...

  2. Android6.0 旋转屏幕(五)WMS启动应用流程(屏幕方向相关)

    一.强制设置方向 1.Activity 如果要强制设置一个Activity的横竖屏可以通过Manifest去设置,跟Activity相关的信息都会保存在ActivityInfo当中. android: ...

  3. python基础-正则1

    什么是正则表达式? 正则表达式是一种小型的\高度专业化的变成语言,主要用于字符串处理 正则表达式是一种通用语言,在python中通过re模块实现,import re 工具:在线正则表达式测试 http ...

  4. struts2标签(转)

    Struts2 标签库讲解   要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可: <%@ taglib prefix="s" uri="/str ...

  5. Nginx均衡负载配置

    前言:Nginx也是一种服务器,反向代理服务器.单一tomcat能承受的并发访问量在150-200之间,还是在比较理想的情况下,当并发量超出这个范围,便需要Nginx实现多个tomcat的均衡负载,但 ...

  6. BZOJ-4003:城池攻占(可并堆+lazy标记)

    小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池. 这 n 个城池用 到 n 的整数表示.除 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi <i.也就是 ...

  7. ACM学习历程—CodeForces 176B Word Cut(字符串匹配 && dp && 递推)

    Description Let's consider one interesting word game. In this game you should transform one word int ...

  8. 【QT】《转载》常用快捷键

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  9. JZOJ 1667【AHOI2009】中国象棋——dp

    题目:https://jzoj.net/senior/#main/show/1667 只注重0.1.2的列有多少个,不注重它们的位置,就能记录了. #include<iostream> # ...

  10. NOI.AC 31 MST——整数划分相关的图论(生成树、哈希)

    题目:http://noi.ac/problem/31 模拟 kruscal 的建最小生成树的过程,我们应该把树边一条一条加进去:在加下一条之前先把权值在这一条到下一条的之间的那些边都连上.连的时候要 ...