目录

效果展示:

​编辑

1.结构分析

2.css样式

3.动画设置


效果展示:

1.结构分析

既然是用动画实现太阳地球月球的轨迹,那必然是太阳居中,地球围绕太阳转,与此同时月球围绕地球转,如下图(嘿嘿,凑合看吧),就应该使用一个大盒子(div),作为背景的太空,然后是太阳和地球,再把月亮嵌套进地球里面。以下代码使用汉语拼音来写类名,方便区分。

<div><div class="beijing"><div class="taiyang"></div><div class="diqiu"><div class="yueqiu"></div></div></div></div>

2.css样式

然后先给背景,太阳,地球,月亮四个盒子分别设置自己的样式,将其设置为下面图片显示的情况(太阳居于中心的红色,黄色的是地球,而上面蓝色的是月亮),为其设置为圆形,背景颜色,和定位位置来达到这个效果,并且设置一下边框来使以后的动画效果轨迹更清晰可见。具体参考以下代码。

 .beijing {background-color: #93b5cf;margin: 0, auto;height: 400px;width: 400px;border: 1px black solid;border-radius: 50%;position: absolute;left: 50%;margin-left: -200px;top: 100px;/* background-image: url(./picture/xu.gif) */}.taiyang {background-color: red;height: 40px;width: 40px;border-radius: 50%;/* border: 1px black solid; */position: absolute;left: 50%;margin-left: -20px;top: 50%;margin-top: -20px;}.diqiu {background-color: yellow;height: 20px;width: 20px;border-radius: 50%;position: absolute;left: 50%;margin-left: -10px;margin-top: -10.5px;transform-origin: 10px 210.5px;}.yueqiu {background-color: rgb(47, 0, 255);height: 10px;width: 10px;border-radius: 50%;position: absolute;left:50%;margin-left: -5px;margin-top: -10px;transform-origin: 5px 20px;}

3.动画设置

首先我们要实现地球围绕太阳转的效果,太阳居中心不动,地球的旋转中心改成太阳的位置,然后围绕太阳做旋转动画(transform:rotate(?deg);)。使用transform-origin来调整旋转的中心,具体位置调整参考css样式内代码。

调整旋转中心有点困难,大家可以多尝试,先实现动画效果,看动画效果慢慢调整中心。

月球围绕地球旋转与上同理。

然后我们为其设置鼠标移入的事件效果,在鼠标移入时候,地球就会围绕太阳转,同时月球围绕地球转。记得设置过渡( transition: 7s linear;)。

.beijing:hover > .diqiu {transform:rotate(360deg);transition: 7s linear;}.beijing:hover .yueqiu{transform: rotate(360deg);transition: 7s linear;}

这段效果也可以使用css逐帧动画来写。

 @keyframes run{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}

在css样式地球和月球里面加上下面代码引用动画效果:

        animation: run 6s  infinite;

有能力可以写出银河系星系围绕太阳旋转的动画,记得更改样式,设置相应的星星大小颜色背景,配合动画效果,就可以做出很漂亮的星空了。

本人才疏学浅,写的东西如果能帮助大家就心满意足了,不足之处也请多多指教。

css动画小案例(太阳地球月球运动轨迹)相关推荐

  1. css动画小案例 弹力球

    什么是 CSS3 中的动画? 动画是使元素从一种样式逐渐变化为另一种样式的效果.可以改变任意多的样式任意多的次数.用百分比来规定变化发生的时间,或用关键词 "from" 和 &qu ...

  2. opengl的配置和太阳-地球-月球演示

    详细配置过程请点击链接 https://www.cnblogs.com/flylinmu/p/7823019.html 下面介绍opengl实例,太阳-地球-月球演示 建立一个控制台程序 sun.cp ...

  3. html5之太阳地球月球,使用html5画出地球月球和太阳之间的环绕关系

    本文主要是描述了使用html5画出地球月球和太阳之间的环绕关系,其实他们比较简单,主要是通过旋转来控制各个之间的环绕关系!~ 输入代码,里面有注释: ------------------------- ...

  4. <CSS3练习> CSS动画综合案例 热点图(含素材)

    CSS动画分为两个步骤: 1.先定义动画 2.再调用动画 语法如下 1.定义: @keyframs 动画名称 {from(0%){}to(100%){}} 这里的数字可以从0%~100% 可以任意 代 ...

  5. HTML+CSS+JavaScript小案例(注册页面表单验证轮播图跳转主页动态表格select联动)

    案例:(表单验证) <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  6. java绘制地球绕太阳转_Unity3D 公转小案例:地球围绕太阳转

    公转指的是什么? 公转(英语:Orbital revolution),是指一物体以另一物体为中心,沿一定轨道所作的循环运动:所沿着的轨道可以为圆.椭圆.双曲线或抛物线.在天文学上,一般用来形容行星.彗 ...

  7. Canvas模拟太阳地球月球的运动过程

    先看效果图 代码 package com.test.paintdemo.pathrelate;import android.content.Context; import android.graphi ...

  8. css渐变小案例,比较复杂的线性渐变和径向渐变做泡泡

    目录 一,前言 二,案例一,多个镜像渐变复合出图像 1.分析 2.第一步,四角的白色与红色条纹. 3.第二步,从上到下的渐变 4.第四步,后面的蓝红条纹效果 5.源码 6.奇思妙想 三,径向渐变做出好 ...

  9. matlab地球公转,Unity模拟太阳地球月球公转自转

    1. 打开Unity编辑器,创建三个sphere,依次重命名为Sun,Earth,Moon.将三个球体大小比例控制在5:3:1,并适当调整位置. 2. 分别为三个小球附上材质 3. 新建脚本文件,重命 ...

  10. 简单静态web页面+动画(小案例)

    话不多说,先看效果图 图片会动态变化,由大到小,展现在页面,没有录制动图的工具,演示不了,不好意思 接下来画图展示 底部 看源码(html部分): <!DOCTYPE html> < ...

最新文章

  1. Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)
  2. 14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory
  3. 网页中弹出模式对话框
  4. java 更改css_CSS样式更改——文本Content
  5. android activity 显示无焦点_Android面试题集锦之fragemnt
  6. Linux操作系统yum常用命令
  7. java 关闭dos_java批处理启动 关闭
  8. 鉴源实验室丨汽车网络安全需求分析方法综述
  9. 计算机连接苹果手机不能找到照片目录,苹果手机上照片在电脑找不到了怎么办...
  10. Linux的LILO引导程序,LILO引导装载器详解
  11. vios support for power
  12. web服务器与APP服务器
  13. 某音最近很火的挤地铁游戏直播技术:挤地铁直播+源码+软件下载+视频教程下载-亲测可用
  14. 转载为什么USART的RX和TX和SPI的MISO、MOSI都被配置成推挽输出,他们还能正常工作
  15. idea 推送代码报‘error: The following untracked working tree ……’
  16. 苹果用无线网无法连接服务器怎么回事啊,苹果手机连接到无线网但是不能用怎么办...
  17. java: You aren't using a compiler supported by lombok, so lombok will not work and has been disab...
  18. 差商matlab编程,Matlab数值计算差商与插值
  19. Go | 字符串拼接方式总结和分析
  20. (目标检测)①数据集的建立(拍摄收集、数据集标注)

热门文章

  1. android wear 应用推荐,2015年Android Wear十大必装应用
  2. Linux下编译程序/usr/bin/ld: cannot find -l*错误的解决方法
  3. Android中补间动画相关知识
  4. 又拍云php表单,又拍云php版Token授权防盗链整理 - YangJunwei
  5. 【台州世通兰陵王系列】服务器的1U、2U、4U是指什么?
  6. win10网络计算机显示不全,win10系统局域网显示计算机设备不完全的解决方法
  7. backtrace, backtrace_symbols, backtrace_symbols_fd
  8. Linux如何检查是否支持SNI,WDCP下的纯Nginx支持多域名ssl证书(TLS SNI support disabled)解决方案...
  9. 计算机科学有什么,计算机科学是什么意思
  10. 湍流公式推导系列——(一) 不可压湍动能方程的推导与含义