博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端每日实战:55# 视频演示如何用纯 CSS 创作一个太阳、地球、月亮的运转模型...
阅读量:6222 次
发布时间:2019-06-21

本文共 1590 字,大约阅读时间需要 5 分钟。

图片描述

效果预览

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

可交互视频

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

源代码下载

每日前端实战系列的全部源代码请从 github 下载:

代码解读

定义dom,容器中包含 3 个元素:

居中显示:

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background-color: black;}

定义容器尺寸:

.container {    font-size: 10px;    width: 40em;    height: 40em;    position: relative;}

画出太阳:

.sun {    position: absolute;    top: 15em;    left: 15em;    width: 10em;    height: 10em;    background-color: yellow;    border-radius: 50%;    box-shadow: 0 0 3em white;}

画出地球和月球的轨迹:

.earth,.moon  {    position: absolute;    border-style: solid;    border-color: white transparent transparent transparent;    border-width: 0.1em 0.1em 0 0;    border-radius: 50%;}.earth {    top: 5em;    left: 5em;    width: 30em;    height: 30em;}.moon {    top:0;    right: 0;    width: 8em;    height: 8em;}

用伪元素画出地球和月球:

.earth::before,.moon::before {    position: absolute;    border-radius: 50% ;   content: '';}.earth::before {    top: 2.8em;    right: 2.5em;    height: 3em;    width: 3em;    background-color: aqua;}.moon::before {    top: 0.8em;    right: 0.2em;     width: 1.2em;    height: 1.2em;    background-color: silver;}

设置运转动画效果:

/* rotation period 365.2422 days */.earth {    animation: orbit 36.5s linear infinite;   }/* rotation period 27.322 days */.moon {    animation: orbit 2.7s linear infinite;}@keyframes orbit {    to {        transform: rotate(360deg);    }}

最后,隐藏可能会出现在容器外的部分:

body {    overflow: hidden;}

大功告成!

转载地址:http://fwgja.baihongyu.com/

你可能感兴趣的文章
Windows平台AnyChat视频显示
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
《推荐系统实践》序言、样章欢迎阅读!
查看>>
Android系统源码学习步骤
查看>>
JavaScript脚本关闭浏览器窗口不出现提示框小技巧
查看>>
浅谈Android View事件分发机制
查看>>
【转】FlashBack总结之闪回查询与闪回表
查看>>
python的多态
查看>>
alpha阶段总结
查看>>
js友好提示是否继续,post提交
查看>>
文本框,下拉框,单选框只读状态属性
查看>>
js 中for循环和indexOf()性能对比
查看>>
【leetcode】934. Shortest Bridge
查看>>
String[]遍历
查看>>
03、书店寻宝(二)
查看>>
个人作业报告
查看>>
团队绩效管理
查看>>
docker - 常用命令
查看>>
匿名函数应用2 eval
查看>>
zookeeper配置详解
查看>>