原标题:html+css3太阳系行星运转动画效果的实现代码

做一个太阳系八大行星的运转动画,不包括行星的卫星,所有行星围绕太阳公转,行星采用纯色,暂时没有自转。

效果静态图:

动画中包括:太阳及各行星,运行轨道,行星公转动画。

先画好草图,设计好大小和位置,根据公转周期计算好动画执行的时间。

html的结构:

一个class为solarsys的div,作为太阳系容器元素,该div的position为relative。

行星轨道和行星都用div,position为absolute。

容器用relative和内部元素采用absolute的定位方式,比较简单的能实现效果,缺点就是大小是固定的。

XML/HTML Code复制内容到剪贴板

太阳系容器div的css:

定宽,定高,relative定位,页面内剧中对齐。

CSS Code复制内容到剪贴板

.solarsys{

width: 800px;

height: 800px;;

position: relative;

margin: 0 auto;

background-color: #000000;

padding: 0;

transform: scale(1);

}

太阳div的css:

按照设计的大小和位置,设定宽高,left,top。

设定颜色。

通过把boder-radius生成50%,把一个正方形变成圆形。

通过box-shadow的4层颜色设置实现太阳光晕。

CSS Code复制内容到剪贴板

.sun {

left:357px;

top:357px;

height: 90px;

width: 90px;

background-color: rgb(248,107,35);

border-radius: 50%;

box-shadow: 5px 5px 10px rgb(248,107,35), -5px -5px 10px rgb(248,107,35), 5px -5px 10px rgb(248,107,35), -5px 5px 10px rgb(248,107,35);

position: absolute;

margin: 0;

}

行星轨道div的css:

假设是水星轨道。

按照设计的大小和位置,设定宽高,left,top。

背景色透明。

通过把boder-radius生成50%,把一个正方形变成圆形。

boder的类型设成虚线。

boder的颜色设成灰色。

宽度设1。

CSS Code复制内容到剪贴板

.mercuryOrbit {

left:342.5px;

top:342.5px;

height: 115px;

width: 115px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

margin: 0px;

padding: 0px;

}

行星div的css:

假设是水星。

按照设计的大小和位置,设定宽高,left,top。

设置颜色。

通过把boder-radius生成50%,把一个正方形变成圆形。

将transfrom-origin设定成当前div的左上角相对于整个太阳系容器的中心点的横向和纵向的偏移量。加上旋转动画后就是围绕着中心点旋转效果。

做一个animation,引用rotate关键帧动画,线性永久执行,这里的执行时长是根据行星的公转周期计算出来。

CSS Code复制内容到剪贴板

.mercury {

left:337.5px;

top:395px;

height: 10px;

width: 10px;

background-color: rgb(166,138,56);

border-radius: 50%;

position: absolute;

transform-origin: 62.5px 5px;

animation: rotate 1.5s infinite linear;

}

rotate关键帧动画:

逆时针旋转。

CSS Code复制内容到剪贴板

@keyframes rotate {

100% {

transform: rotate(-360deg);

}

}

基本结构完成。

仅在chrome中测试过。

全部代码:

XML/HTML Code复制内容到剪贴板

.solarsys{

width: 800px;

height: 800px;;

position: relative;

margin: 0 auto;

background-color: #000000;

padding: 0;

transform: scale(1);

}

/*太阳*/

.sun {

left:357px;

top:357px;

height: 90px;

width: 90px;

background-color: rgb(248,107,35);

border-radius: 50%;

box-shadow: 5px 5px 10px rgb(248,107,35), -5px -5px 10px rgb(248,107,35), 5px -5px 10px rgb(248,107,35), -5px 5px 10px rgb(248,107,35);

position: absolute;

margin: 0;

}

/*水星*/

.mercury {

left:337.5px;

top:395px;

height: 10px;

width: 10px;

background-color: rgb(166,138,56);

border-radius: 50%;

position: absolute;

transform-origin: 62.5px 5px;

animation: rotate 1.5s infinite linear;

}

/*水星轨道*/

.mercuryOrbit {

left:342.5px;

top:342.5px;

height: 115px;

width: 115px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

margin: 0px;

padding: 0px;

}

/*金星*/

.venus {

left:309px;

top:389px;

height: 22px;

width: 22px;

background-color: rgb(246,157,97);

border-radius: 50%;

position: absolute;

transform-origin: 91px 11px;

animation: rotate 3.84s infinite linear;

}

/*金星轨道*/

.venusOrbit {

left:320px;

top:320px;

height: 160px;

width: 160px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

/*margin: 100px;*/

/*transform-origin: -75px -75px;*/

/*animation: rotate 4s infinite linear;*/

margin: 0px;

padding: 0px;

}

/*地球*/

.earth {

left:266.5px;

top:391px;

height: 18px;

width: 18px;

background-color: rgb(115,114,174);

border-radius: 50%;

position: absolute;

transform-origin: 134px 9px;

animation: rotate 6.25s infinite linear;

}

/*地球轨道*/

.earthOrbit {

left:275px;

top:275px;

height: 250px;

width: 250px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

/*margin: 100px;*/

/*transform-origin: -75px -75px;*/

/*animation: rotate 4s infinite linear;*/

margin: 0px;

padding: 0px;

}

/*火星*/

.mars {

left:222.5px;

top:392.5px;

height: 15px;

width: 15px;

background-color: rgb(140,119,63);

border-radius: 50%;

position: absolute;

transform-origin: 177.5px 7.5px;

animation: rotate 11.75s infinite linear;

}

/*火星轨道*/

.marsOrbit {

left:230px;

top:230px;

height: 340px;

width: 340px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

/*margin: 100px;*/

/*transform-origin: -75px -75px;*/

/*animation: rotate 4s infinite linear;*/

margin: 0px;

padding: 0px;

}

/*木星*/

.jupiter {

left:134px;

top:379px;

height: 42px;

width: 42px;

background-color: rgb(156,164,143);

border-radius: 50%;

position: absolute;

transform-origin: 266px 21px;

animation: rotate 74.04s infinite linear;

}

/*木星轨道*/

.jupiterOrbit {

left:155px;

top:155px;

height: 490px;

width: 490px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

/*margin: 100px;*/

/*transform-origin: -75px -75px;*/

/*animation: rotate 4s infinite linear;*/

margin: 0px;

padding: 0px;

}

/*土星*/

.saturn {

left:92px;

top:387px;

height: 26px;

width: 26px;

background-color: rgb(215,171,68);

border-radius: 50%;

position: absolute;

transform-origin: 308px 13px;

animation: rotate 183.92s infinite linear;

}

/*土星轨道*/

.saturnOrbit {

left:105px;

top:105px;

height: 590px;

width: 590px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

/*margin: 100px;*/

/*transform-origin: -75px -75px;*/

/*animation: rotate 4s infinite linear;*/

margin: 0px;

padding: 0px;

}

/*天王星*/

.uranus {

left:41.5px;

top:386.5px;

height: 27px;

width: 27px;

background-color: rgb(164,192,206);

border-radius: 50%;

position: absolute;

transform-origin: 358.5px 13.5px;

animation: rotate 524.46s infinite linear;

}

/*天王星轨道*/

.uranusOrbit {

left:55px;

top:55px;

height: 690px;

width: 690px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

/*margin: 100px;*/

/*transform-origin: -75px -75px;*/

/*animation: rotate 4s infinite linear;*/

margin: 0px;

padding: 0px;

}

/*海王星*/

.neptune {

left:10px;

top:390px;

height: 20px;

width: 20px;

background-color: rgb(133,136,180);

border-radius: 50%;

position: absolute;

transform-origin: 390px 10px;

animation: rotate 1028.76s infinite linear;

}

/*海王星轨道*/

.neptuneOrbit {

left:20px;

top:20px;

height: 760px;

width: 760px;

background-color: transparent;

border-radius: 50%;

border-style: dashed;

border-color: gray;

position: absolute;

border-width: 1px;

/*margin: 100px;*/

/*transform-origin: -75px -75px;*/

/*animation: rotate 4s infinite linear;*/

margin: 0px;

padding: 0px;

}

@keyframes rotate {

100% {

transform: rotate(-360deg);

}

}

以上这篇html+css3太阳系行星运转动画效果的实现代码就是小编分享给大家的全部内容了.

建站免费素材下载:sucaiq.com

如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对素材圈的支持!若你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!返回搜狐,查看更多

责任编辑:

html+div+动画效果,html+css3太阳系行星运转动画效果的实现代码相关推荐

  1. html里c3动画是什么,h5和c3怎样做出太阳系行星运转的动画效果

    这次给大家带来h5和c3怎样做出太阳系行星运转的动画效果,用h5和c3做出太阳系行星运转动画效果的注意事项有哪些,下面就是实战案例,一起来看一下. 做一个太阳系八大行星的运转动画,不包括行星的卫星,所 ...

  2. 【Web动画】CSS3 3D 行星运转 浏览器渲染原理

    承接上一篇:[CSS3进阶]酷炫的3D旋转透视 . 最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家. CSS3 3D 行星运转 demo 页面请戳:Demo.(建议使用Chrome打开 ...

  3. 实现太阳系行星公转动画实例(CSS+HTML5 源码)

    实现太阳系行星公转动画实例(CSS+HTML5 源码) 效果图 源代码(CSS+HTML5) 效果图 源代码(CSS+HTML5) <html> <head> <styl ...

  4. 150行Python代码模拟太阳系行星运转

    今天我们用Python来模拟一下太阳系行星运动轨迹玩玩~ 先上成品图(运行效果含音乐的呦) 想要实现这样的效果并不难 1.准备材料 首先我们需要准备这样一些材料 宇宙背景图 背景透明的行星图 2:编写 ...

  5. html5倒计时效果,html5+css3进度条倒计时动画特效代码【推荐】

    html5+css3进度条倒计时动画特效这个作品在今天上网找网络资源的时候无意中发现的,看到效果非常棒并且很实用,就第一时间把它整理出来与大家分享了,主要用到了html5.javascript和css ...

  6. h5动画 php,HTML_多视角3D逼真HTML5水波动画 ,html5+css3进度条倒计时动画特效 - phpStudy...

    多视角3D逼真HTML5水波动画 html5+css3进度条倒计时动画特效这个作品在今天上网找网络资源的时候无意中发现的,看到效果非常棒并且很实用,就第一时间把它整理出来与大家分享了,主要用到了htm ...

  7. java语言动画模拟_java swing动画模拟太阳系行星运行动画特效

    package cn.xia.solar; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import ...

  8. html css动画自动旋转,css3实现自动旋转动画效果

    1.[代码][HTML]代码 CSS3自动旋转效果 .swiper-container{ width:100%; margin:300px auto; position:relative; } .sw ...

  9. html 进入效果,用css3实现简单的进入效果

    这是一个比较简单的小例子,实现如图效果 仅仅用css3就可以达到这种效果,代码如下: .div { position: relative; top: 20px; height: 300px; widt ...

最新文章

  1. nagios::plugin模块安装报错解决
  2. Conficker-AE的处理方法
  3. idea 中 git 修改了文件却无法提交(No Changes detected)
  4. winform中键盘和鼠标事件的捕捉和重写(转)
  5. [Abp 源码分析]ASP.NET Core 集成
  6. Spring AOP知识点简介
  7. ArcGIS中的WKID(转)
  8. MySQL入门之PHP的MySQL数据库编程
  9. 量子计算机和量子干涉,量子计算中的干涉
  10. 打印机显示脱机使用打印机不能打印
  11. RV1109 Linux SDK入门指南
  12. 紫光华宇拼音输入法 6.1 正式版
  13. Java基础之集合篇(内容超详细,带你轻松搞懂List、Set和Map的使用)
  14. 计算机组成C和MDR是什么意思,计算机组成原理复习要点及答案
  15. 理解以太坊 Serenity - 第二部分: Casper
  16. 南京美食,为吃遍天下做准备~~
  17. 文件下载(导出)功能,fileDownload。
  18. 一篇文章读懂《麦肯锡极简工作法》
  19. 服务器网站扩容一年1g价格,服务器网站扩容 一年1G价格
  20. stm8 RTC自动唤醒

热门文章

  1. 无监督关键短语的生成问题博客02--extract.py的分析
  2. 大学计算机基础方案一,《大学计算机基础》实验实施方案-学生用(7页)-原创力文档...
  3. stm32F407 ADC
  4. OA系统是把无所不能的“万能钥匙”?
  5. 下面哪个函数不能作为C++ std::sort的比较函数。
  6. Hadoop大数据通用处理平台
  7. ArcGIS裁剪带有黑边的影像图两种方法
  8. 微信小程序:使用canvas 生成图片 并分享
  9. 宽带服务器无响应678,宽带连接错误678解决方法
  10. FFmpeg编译出来的库太大?试试这几招