最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

html+ccs3太阳系行星运转动画

来源:懂视网 责编:小采 时间:2020-11-27 16:41:10
文档

html+ccs3太阳系行星运转动画

html+ccs3太阳系行星运转动画:做一个太阳系八大行星的运转动画,不包括行星的卫星,所有行星围绕太阳公转,行星采用纯色,暂时没有自转。 效果静态图: 动画中包括:太阳及各行星,运行轨道,行星公转动画。 先画好草图,设计好大小和位置,根据公转周期计算好动画执行的时间。 h
推荐度:
导读html+ccs3太阳系行星运转动画:做一个太阳系八大行星的运转动画,不包括行星的卫星,所有行星围绕太阳公转,行星采用纯色,暂时没有自转。 效果静态图: 动画中包括:太阳及各行星,运行轨道,行星公转动画。 先画好草图,设计好大小和位置,根据公转周期计算好动画执行的时间。 h
做一个太阳系八大行星的运转动画,不包括行星的卫星,所有行星围绕太阳公转,行星采用纯色,暂时没有自转。

效果静态图:

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

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

html的结构:

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

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

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

 

太阳系容器div的css:

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

 .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层颜色设置实现太阳光晕。

 .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。

 .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关键帧动画,线性永久执行,这里的执行时长是根据行星的公转周期计算出来。

 .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关键帧动画:

逆时针旋转。

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

基本结构完成。

仅在chrome中测试过。

全部代码:



 







Top