请你用html制作太阳系的小动画,要求1. 各个行星都能围绕太阳按照各自的轨道进行旋转; 2. 要求各个轨道的旋转速度不一样; 3. 图中有个别行星也有自己的小行星,该小行星也可以围绕它进行旋转;:例如月球绕着地球转

时间: 2024-03-17 17:45:22 浏览: 12
以下是一个简单的 HTML 太阳系动画代码,用于展示太阳系中各个行星的旋转: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>太阳系动画</title> <style> * { box-sizing: border-box; } #sun { width: 100px; height: 100px; border-radius: 50%; background-color: yellow; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .planet { position: absolute; width: 20px; height: 20px; border-radius: 50%; background-color: gray; } .moon { position: absolute; width: 5px; height: 5px; border-radius: 50%; background-color: white; } #mercury { top: 30%; left: 45%; animation: spin 5s linear infinite; } #venus { top: 35%; left: 40%; animation: spin 7s linear infinite; } #earth { top: 40%; left: 35%; animation: spin 9s linear infinite; } #mars { top: 45%; left: 30%; animation: spin 11s linear infinite; } #jupiter { top: 50%; left: 25%; width: 30px; height: 30px; background-color: orange; animation: spin 13s linear infinite; } #saturn { top: 55%; left: 20%; width: 25px; height: 25px; background-color: brown; border: 2px solid gray; border-radius: 50%; animation: spin 15s linear infinite; } #uranus { top: 60%; left: 15%; width: 20px; height: 20px; background-color: lightblue; animation: spin 17s linear infinite; } #neptune { top: 65%; left: 10%; width: 20px; height: 20px; background-color: blue; animation: spin 19s linear infinite; } #moon { top: 43%; left: 32%; animation: spin 1s linear infinite; transform-origin: 50% 180%; } </style> </head> <body> <div id="sun"></div> <div id="mercury" class="planet"></div> <div id="venus" class="planet"></div> <div id="earth" class="planet"> <div id="moon" class="moon"></div> </div> <div id="mars" class="planet"></div> <div id="jupiter" class="planet"></div> <div id="saturn" class="planet"></div> <div id="uranus" class="planet"></div> <div id="neptune" class="planet"></div> </body> <script> function rotate(el, deg) { el.style.transform = `rotate(${deg}deg)`; } function animate() { const moon = document.getElementById('moon'); const earth = document.getElementById('earth'); const earthAngle = 1; const moonAngle = 6; rotate(earth, earthAngle); rotate(moon, moonAngle); setTimeout(() => { animate(); }, 50); } animate(); </script> <style> @keyframes spin { from { transform: rotate(0); } to { transform: rotate(360deg); } } </style> </html> ``` 这个代码使用了 HTML、CSS 和 JavaScript 来实现太阳系的动画效果。在页面中,我们使用一个黄色的圆形表示太阳,并使用灰色的圆形表示行星。每个行星都有一个唯一的 ID,使我们可以在 CSS 中通过 ID 来为每个行星设置位置和样式。每个行星都有一个 spin 动画,使它可以围绕太阳按照各自的轨道进行旋转,并且每个轨道的旋转速度不一样。月球绕着地球转的效果是通过 JavaScript 来实现的,我们为地球和月球设置了一个旋转角度,然后每隔一段时间就更新一次旋转角度,从而实现了动画效果。

相关推荐

最新推荐

recommend-type

微信小程序 连续旋转动画(this.animation.rotate)详解

主要介绍了微信小程序 连续旋转动画(this.animation.rotate)详解的相关资料,需要的朋友可以参考下
recommend-type

Android酷炫动画效果之3D星体旋转效果

本文要实现的3D星体旋转效果是从CoverFlow演绎而来,不过CoverFlow只是对图像进行转动,我这里要实现的效果是要对所有的View进行类似旋转木马的转动
recommend-type

纯CSS实现语音动画.docx

微信小程序录音时需要动画,参照网上的安全写了一个,采用纯css的方式动画实现
recommend-type

vue页面引入three.js实现3d动画场景操作

Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它通过控制相机、视角、材质等相关属性来创造大量3D动画场景。 我们开始引入three.js相关插件。 1、首先利用淘宝镜像,操作命令为: cnpm install three 2.接...
recommend-type

jquery+html5烂漫爱心表白动画代码分享

小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式。 为大家分享的jquery+html5烂漫爱心表白动画代码如下 &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。