【中秋】模拟日地月的公转
点击上方 前端瓶子君,关注公众号
回复算法,加入前端编程面试算法每日一题群
前言
为了这次掘金的中秋活动,我也算是苦思冥想了两天,终于想到了一个在掘金没见人做过的东西(应该没做过吧,我也不知道)—— 用 HTML+CSS 模拟日地月的公转。
我们都知道中秋的月亮又大又圆,是因为太阳地球月亮在公转过程中处在了一条直线上,地球在中间,太阳和月球分别在地球的两端,这天的月相便是满月。这段可以略过,是为了跟中秋扯上关系。
但因为我根本没咋学过前端,这两天恶补了一下重学了 flexbox
和 grid
,成果应该说还挺好看(如果我的审美没有问题的话)。
配色我挺喜欢的,希望你也喜欢。
源码我放到了 CodePen 上,链接 https://codepen.io/Mancuoj/pen/zYzwwEg
HTML
重点是CSS,HTML放上三个 div
就????了。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><title>Mancuoj</title><linkhref="simulation.css"rel="stylesheet"/></head><body><h1>Mancuoj</h1><figure class="container"><div class="sun"></div><div class="earth"><div class="moon"></div></div></figure></body>
</html>
复制代码
背景和文字
导入我最喜欢的 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[3]
uiGradients \- Beautiful colored gradients[4]
Color Palettes for Designers and Artists \- Color Hunt[5]
中国色 \- 中国传统颜色 \(zhongguose.com\)[6]
Palettes | Flat UI Colors ???? 280 handpicked colors ready for COPY \& PASTE[7]
???? Material Design Colors, Color Palette | Material UI[8]
关于本文
来源:Mancuoj
https://juejin.cn/post/7006507905050492935
最后
欢迎关注【前端瓶子君】✿✿ヽ(°▽°)ノ✿
回复「算法」,加入前端编程源码算法群,每日一道面试题(工作日),第二天瓶子君都会很认真的解答哟!
回复「交流」,吹吹水、聊聊技术、吐吐槽!
回复「阅读」,每日刷刷高质量好文!
如果这篇文章对你有帮助,「在看」是最大的支持
》》面试官也在看的算法资料《《
“在看和转发”就是最大的支持
【中秋】模拟日地月的公转相关推荐
- 【中秋】纯CSS模拟日地月公转
为了参加某平台的一个中秋活动,我也算是苦思冥想了两天,终于想到了一个没见人做过的东西(应该没做过吧,我也不知道)-- 用 HTML+CSS 模拟日地月的公转. 我们都知道中秋的月亮又大又圆,是因为太阳 ...
- 【中秋】纯CSS实现日地月的公转
推荐关注前端热榜 前言 为了这次掘金的中秋活动,我也算是苦思冥想了两天,终于想到了一个在掘金没见人做过的东西(应该没做过吧,我也不知道)-- 用 HTML+CSS 模拟日地月的公转.我们都知道中秋的月 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日)
分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日) 本周Silverlight学习资源更新 Silverlight 定位 niejunhua [学习 ...
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月25日-7月1日)
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月25日-7月1日) 本周Silverlight学习资源更新 用Silverlight做淘宝应用 往事如锋 基于 Si ...
- 怎么往integer型数组添加数据_用户日活月活怎么统计 - Redis HyperLogLog 详解
HyperLogLog 是一种概率数据结构,用来估算数据的基数.数据集可以是网站访客的 IP 地址,E-mail 邮箱或者用户 ID. 基数就是指一个集合中不同值的数目,比如 a, b, c, d 的 ...
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日)
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日) 本周Silverlight学习资源更新 Silverlight + DomainServi ...
- 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日)
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日) 本周Silverlight学习资源更新 Silverlight学习小记 阿里山地方 ...
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月5日-8月12日)
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月5日-8月12日) 本周Silverlight学习资源更新 Silverlight设计时特性的使用 _eagle S ...
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月13日-8月19日)
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月13日-8月19日) 本周Silverlight学习资源更新 Silverlight中如何实现上下标的显示 Lice ...
最新文章
- 如何给机房的服务器安装系统,云机房服务器系统安装
- 寄存器(内存访问)---汇编学习笔记
- 【English Email】CIP payouts now in Workday
- 有效的Java –创建和销毁对象
- COM原理及应用之可连接对象
- openresty—实现缓存前移
- 【记录】Docker安装后出现 Cannot connect to the Docker daemon
- oracle如何快速查找,Oracle 如何快速查找和删除重复记录
- resnet10 从tk1 上移植到linux 上 上遇到的问题
- redis cluster迁移相关
- 作为前端Web开发者,这12条基本命令不可不会
- HEVC学习 —— HM的使用
- C#中完美克隆引用类型的对象
- Chrome浏览器的版本查看 以及V8 javascript 引擎版本查看
- HTTP 304状态码
- velocity参数重新赋值_Velocity 语法详解
- <EDEM CFD案例01>EDEM2018 + FLUENT19.2 Coupling Interface Compiling
- hadoop原理巧用到异地机房双活
- 互联网周刊:移动互联网时代的运营商之失zz
- android指纹采集sdk,SDK上的Android指纹23
热门文章
- 大神之路-起始篇 | 第15章.计算机科学导论之【数据压缩】学习笔记
- 一对一直播源码,一对一直播平台搭建,特色功能智能匹配
- 云大计算机考博 经验,计算机考博难不难?
- 数据类型-字符串(str)
- 智慧仓储管理系统,是否能解决购物狂欢节后新一轮爆仓危机?
- Javascript 显示“早上好,上午好,下午好,傍晚好,晚上好”
- STM32外设ADC的使用(单通道模式读取土壤湿度传感器)(标准库开发)
- Adobe Dreamweaver CS5中文版安装
- ZED2相机+NVIDIA NX使用及检测目标功能1
- 消防设备电源监控系统在苏州某工业区项目的应用-安科瑞耿敏花