中秋献礼,分享一个CSS日地月公转动画效果!

中秋节快到了,下面本篇文章给大家分享一个纯css实现的日地月公转动画效果,打开快来学习一下!

1.gif

为了这次掘金的中秋活动,我也算是苦思冥想了两天,终于想到了一个在掘金没见人做过的东西(应该没做过吧,我也不知道)—— 用 HTML+CSS 模拟日地月的公转。【相关推荐:《css视频教程》】

我们都知道中秋的月亮又大又圆,是因为太阳地球月亮在公转过程中处在了一条直线上,地球在中间,太阳和月球分别在地球的两端,这天的月相便是满月。这段可以略过,是为了跟中秋扯上关系。

但因为我根本没咋学过前端,这两天恶补了一下重学了 flexboxgrid ,成果应该说还挺好看(如果我的审美没有问题的话)。

立即学习“前端免费学习笔记(深入)”;

配色我挺喜欢的,希望你也喜欢。

源码我放到了 CodePen 上,链接 Sun Earth Moon (codepen.io)

HTML

重点是CSS,HTML放上三个 div 就ok了。

                    Mancuoj                        

Mancuoj

背景和文字

导入我最喜欢的 Lobster 字体,然后设为白色,字体细一点。

@import url("https://fonts.googleapis.com/css2?family=Lobster&display=swap");h1 {    color: white;    font-size: 60px;    font-family: Lobster, monospace;    font-weight: 100;}

背景随便找了一个偏黑紫色,然后把画的内容设置到中间。

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background-color: #2f3141;}.container {    font-size: 10px;    width: 40em;    height: 40em;    position: relative;    display: flex;    align-items: center;    justify-content: center;}

日地月动画

众所周知:地球绕着太阳转,月球绕着地球转。

我们画的是公转,太阳就直接画出来再加个阴影高光,月亮地球转就可以了。

最重要的其实是配色(文章末尾有推荐网站),我实验好长时间的配色,最终用了三个渐变色来表示日地月。

日: linear-gradient(#fcd670, #f2784b);地: linear-gradient(#19b5fe, #7befb2);月: linear-gradient(#8d6e63, #ffe0b2);

CSS 应该难不到大家,随便看看吧。

轨道用到了 border,用银色线条当作公转的轨迹。

动画用到了自带的 animation ,每次旋转一周。

.sun {    position: absolute;    width: 10em;    height: 10em;    background: linear-gradient(#fcd670, #f2784b);    border-radius: 50%;    box-shadow: 0 0 8px 8px rgba(242, 120, 75, 0.2);}.earth {    --diameter: 30;    --duration: 36.5;}.moon {    --diameter: 8;    --duration: 2.7;    top: 0.3em;    right: 0.3em;}.earth,.moon {    position: absolute;    width: calc(var(--diameter) * 1em);    height: calc(var(--diameter) * 1em);    border-width: 0.1em;    border-style: solid solid none none;    border-color: silver transparent transparent transparent;    border-radius: 50%;    animation: orbit linear infinite;    animation-duration: calc(var(--duration) * 1s);}@keyframes orbit {    to {        transform: rotate(1turn);    }}.earth::before {    --diameter: 3;    --color: linear-gradient(#19b5fe, #7befb2);    --top: 2.8;    --right: 2.8;}.moon::before {    --diameter: 1.2;    --color: linear-gradient(#8d6e63, #ffe0b2);    --top: 0.8;    --right: 0.2;}.earth::before,.moon::before {    content: "";    position: absolute;    width: calc(var(--diameter) * 1em);    height: calc(var(--diameter) * 1em);    background: var(--color);    border-radius: 50%;    top: calc(var(--top) * 1em);    right: calc(var(--right) * 1em);}

总结

参加个活动真不容易,不过前端还是挺好玩的。

推荐几个我找颜色的网站吧:

免费的渐变背景CSS3样式 | oulu.me

uiGradients – Beautiful colored gradients

Color Palettes for Designers and Artists – Color Hunt

中国色 – 中国传统颜色 (zhongguose.com)

Palettes | Flat UI Colors 280 handpicked colors ready for COPY & PASTE

 Material Design Colors, Color Palette | Material UI

原文地址:https://juejin.cn/post/7006507905050492935作者:Mancuoj

更多编程相关知识,请访问:编程入门!!

以上就是中秋献礼,分享一个CSS日地月公转动画效果!的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1621576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 07:34:11
下一篇 2025年12月24日 07:34:20

相关推荐

  • 手把手教你使用CSS制作逼真的水波纹效果(附代码)

    之前的文章《新手篇:如何用css制作图片文字排版(代码分享)》中,给大家介绍了如何用css制作图片文字排版。下面本篇文章给大家介绍怎么使用CSS实现逼真的水波纹点击效果,我们一起看怎么做。 网页中常常有这样的CSS水波纹的效果,给大家分享一下看效果图看完效果,我们来研究一下是怎么实现呢,给大家用于讲…

    2025年12月24日 好文分享
    000
  • 一文讲解CSS制作动画常用技巧(收藏)

    之前的文章《你值得了解的JS高级技巧(总结)》中,给大家了解了JS高级技巧。下面本篇文章给大家了解CSS制作动画常用技巧,我们一起看看怎么做。 transition CSS 中有一个transition属性,能够监听某个 CSS 属性的变化,通过属性变化的控制,实现简单的动画效果: transiti…

    2025年12月24日
    000
  • 深入浅出解析css字体图标的制作和使用(代码分享)

    之前的文章《一文讲解CSS制作动画常用技巧(收藏)》中,给大家了解了CSS制作动画常用技巧。下面本篇文章给大家了解css字体图标的制作和使用,伙伴们过来看看一下。 css字体图标的制作和使用 在项目开发的过程中,我们会经常用到一些图标。但是我们在使用这些图标时,往往会遇到失真的情况,而且图片数量很多…

    2025年12月24日 好文分享
    000
  • 教你用CSS绘制一个带有渐变边框的圆!

    在上一篇《用html/css制作有趣的动态波浪形文本行》中给大家介绍了如何用用html/css制作动态波浪形文本行,感兴趣的朋友可以去了解一下~ 本文将继续给大家介绍怎么用css实现一个带有渐变边框的圆。 首先我给大家简单说一下实现思路:我将创建两个 div,一个是类名为outer_circle 的…

    2025年12月24日
    000
  • 如何使用CSS动态调整旋转半径?

    在之前的文章《教你用css绘制一个带有渐变边框的圆!》中给大家介绍了如何使用css绘制一个带有渐变边框的圆,感兴趣的朋友可以去了解一下~ 那么本文的重点内容则是教大家如何使用css调整旋转半径。 在CSS中,我们可以使用CSS自定义属性(变量)调整旋转半径的大小。现在Mozilla、谷歌、Opera…

    2025年12月24日
    000
  • 利用css制作有趣的文字摆动动画特效

    在之前的文章《超实用!利用css3将两个图片叠加在一起显示》中,我们分享了两种利用css3将两个图片叠加融合在一起显示的特效。这次我们给大家介绍一下利用css如何制作文字摆动动画特效,感兴趣的可以学习了解一下~ 文本文字是网页中最常见的一种组成部分,给文字添加动画效果可以让网页更加吸引人,今天就来给…

    2025年12月24日 好文分享
    000
  • 使用CSS快速更改PNG图像的颜色(两种方法)

    在上一篇《如何用html和css制作玻璃/模糊效果?》文章中给大家介绍了用html和css制作玻璃/模糊效果的方法,感兴趣的朋友可以阅读了解一下~ 本文将给大家介绍如何使用CSS快速更改PNG图像的颜色,这也是日常开发中比较常见一个效果实现方法。 首先大家可以先下载本文中展示的png图片素材,下载地…

    2025年12月24日
    000
  • 炫酷!CSS创建响应式堆叠卡片悬停效果

    在上一篇《使用css快速更改png图像的颜色(两种方法)》中给大家介绍了怎么使用css快速更改png图像的颜色,感兴趣的朋友可以去看看~ 本文将给大家介绍一种炫酷的效果,就是用CSS创建响应式堆叠卡片悬停效果。到底是什么样的效果呢?我们继续往下看! 在开始之前,我先介绍一下实现的整体大致思路:首先我…

    2025年12月24日
    000
  • 一步一步教你使用CSS制作文字实现逐帧动画(附代码)

    之前的文章《手把手教你使用css3制作炫酷的导航栏效果(代码详解)》中,给大家介绍了怎么使用css3制作炫酷的导航栏效果,下面本篇文章给大家介绍怎么使用CSS制作文字实现逐帧动画,我们一起看看怎么做。 文字实现逐帧动画是网页中最常见的一种组成部分,给文字添加逐帧动画效果,给大家分享一下看效果图 看完…

    2025年12月24日 好文分享
    000
  • 新手篇:如何用ccs制作一个简单的布局(附代码)

    之前的文章《手把手教你使用css3制作炫酷的导航栏效果(代码详解)》中,给大家介绍怎么使用css3制作炫酷的导航栏效果。下面本篇文章给大家介绍如何用html制作一个简单的布局的方法,我们一起看看怎么做。 生活中互联网发达了,网页中常常有这样的布局,给大家分享一下看效果图看完效果,我们来研究一下是怎么…

    2025年12月24日
    000
  • 一招教你使用css3制作按钮添加动态效果(代码分享)

    之前的文章《新手篇:如何用ccs制作一个简单的布局(附代码)》中,给大家介绍了如何用ccs制作一个简单的布局。下面本篇文章给大家介绍怎么使用css3制作按钮添加动态效果,我们一起看看怎么做。 css如何实现button按钮效果? HTML结构: 首先定义一个body,使用button按钮,添加文字v…

    2025年12月24日 好文分享
    000
  • css怎样设置页面居中

    css设置页面居中的方法:1、“text-align:center”设置水平居中。 2、“dispaly:flex”设置水平居中。3、“display:table-cell”设置垂直居中。4、“position:absolute”设置垂直居中。 本教程操作环境:windows7系统、CSS3&amp…

    2025年12月24日
    000
  • html中css代码可以放在哪里

    css代码的位置:1、直接利用style属性,放到html标签中,语法“”;2、使用style标签把css代码集中写在文档的head头部标签中,语法“css代码”。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 在html中,css代码的放置位…

    2025年12月24日
    000
  • css怎么给文字加背景

    方法:1、用“color: transparent”设置文字透明;2、用“background-image:url(“图片地址”)”给文字加背景图片;3、用“background-clip: text;”将图片和文字融合,实现文字背景效果。 本教程操作环境:windows7系…

    2025年12月24日 好文分享
    000
  • css如何设置标题阴影边框

    方法:1、利用border属性给标题元素添加边框,语法“border:宽度 样式 颜色;”;2、利用“text-align: center”实现标题文本居中;3、使用box-shadow属性给标题元素的边框添加阴影效果。 本教程操作环境:windows7系统、CSS3&&HTML5版…

    2025年12月24日
    000
  • 如何使用CSS创建波浪背景?

    在这篇《用css快速创建高级模糊感的背景图像》中给大家介绍了使用css快速创建高级模糊感的背景图像的方法,感兴趣的朋友可以去了解一下~ 那么本文咱们再给大家介绍一种用css快速实现波浪背景的方法,保证让你的页面拥有个性的背景,当然还有什么想要实现的背景风格大家可以评论告诉我! 注:本文将使用befo…

    2025年12月24日
    000
  • 手把手教你使用css给文字添加火焰效果(代码详解)

    之前的文章《一招教你使用html给图片添加边框效果(代码详解)》中,给大家介绍了怎么使用html给图片添加边框效果。下面本篇文章给大家介绍怎么使用css给文字添加火焰效果,我们一起看看怎么做。 打开HTML代码软件,建立一个代码 1、这儿来一个p标签,然后咱就随便写几个,开心就笑,累了就睡觉,醒了就…

    2025年12月24日 好文分享
    000
  • 手把手教你怎么使用css3给文字添加动画效果(附代码)

    之前的文章《手把手教你使用css给文字添加火焰效果(代码详解)》中,给大家介绍了怎么使用css给文字添加火焰效果。下面本篇文章给大家介绍怎么使用css3给文字添加动画效果,我们一起看看怎么做。 在这类网站中能看到,无论是文字还是图片,都随着规定时间的而变化。css3的主键强大原理很简单,主要用到cs…

    2025年12月24日
    000
  • 手把手教你使用css制作一个简单的心跳效果(代码详解)

    之前的文章《手把手教你怎么使用css3给文字添加动画效果(附代码)》中,给大家介绍怎么使用css3给文字添加动画效果。下面本篇给大家介绍怎么使用css制作一个简单的心跳效果,我们一起看看怎么做。 ccs制作一个简单的心跳效果的方法,添加一个盒子,充分利用ccs展现就可以啦。 1、首先我们在页面添加一…

    2025年12月24日
    000
  • 很实用!CSS实现在单击按钮时显示按下的动态效果

    在上一篇《如何用css快速创建3点加载动画》中给大家介绍了如何用css创建3点加载动画效果,感兴趣的朋友可以去阅读了解一下~ 本文将给大家介绍在前端设计过程中非常实用的一个动态效果,就是在单击按钮时显示按下的动态效果,光说可能大家还不明白是什么效果,我们可以直接看一个动图: 不过本文不仅会介绍实现这…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信