【中秋】纯CSS实现日地月的公转

背景和文字


导入我最喜欢的 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%;

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值