当前位置: 首页 > news >正文

用 CSS 实现太阳系运行效果

    • 介绍
    • 实现
    • 最终效果
    • 结语

介绍

在编程的浩瀚宇宙中,我们总是在探索能够以最简洁的方式创造出最酷炫效果的方法。而使用 CSS 制作响应式太阳系,绝对能提升你的编程乐趣。
如何用 CSS 实现这个神奇的太阳系呢?关键在于巧妙运用 CSS 的动画、定位和尺寸属性。通过定义不同的元素来代表太阳、行星和轨道,然后利用 CSS 动画来模拟行星的旋转运动。

实现

让我们从一些非常基本的HTML开始:

<ol><li class="sun"></li><li class="mercury"></li><li class="venus"></li><li class="earth"></li><li class="mars"></li><li class="jupiter"></li><li class="saturn"></li><li class="uranus"></li><li class="neptune"></li>
</ol>

我们使用 <li/> 有序列表,因为行星是有序的。

接下来,我们默认的 -styles,并将其样式设置为网格:

ol {all: unset;aspect-ratio: 1 / 1;container-type: inline-size;display: grid;width: 100%;
}

现在,对于行星轨迹,我们将使用 “grid stack”。我们可以简单地将所有网格项堆叠起来:

li {grid-area: 1 / -1;place-self: center;
}

通过为每个行星设置一个 -variable(用于直径),使用 ,我们得到:

轨迹

使用伪元素添加行星:::after

li::after {aspect-ratio: 1 / 1;background: var(--b

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • REGTR: End-to-end Point Cloud Correspondences with Transformers 论文解读
  • 解题-写一个程序判断当前机器的大小端存储模式 #两种方法
  • uniapp + Vue3自定义封装弹窗组件
  • Linux 数据结构 顺序表 链表
  • SpringBoot SSM vue在线作业考试系统
  • RISC-V单片机智能落地扇方案
  • 华为云征文|部署个人博客管理系统 Ghost
  • Golang 字面量的表示
  • 【Docker】容器挂载文件修改后 Commit 新镜像,挂载文件不会更新
  • 用Python实现时间序列模型实战——Day 6: ARIMA 模型的理论基础
  • R 语言学习教程,从入门到精通,R 绘图饼图(23)
  • Flink 1.14.* Flink窗口创建和窗口计算源码
  • 链动2+1与消费增值模式的协同效应
  • NestJs bull 用法
  • Linux驱动开发基础(sr04超声波模块)
  • 08.Android之View事件问题
  • Angularjs之国际化
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Git学习与使用心得(1)—— 初始化
  • Java小白进阶笔记(3)-初级面向对象
  • Spark RDD学习: aggregate函数
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 记录:CentOS7.2配置LNMP环境记录
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​flutter 代码混淆
  • ​香农与信息论三大定律
  • # 达梦数据库知识点
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • ###C语言程序设计-----C语言学习(6)#
  • (1)(1.9) MSP (version 4.2)
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)基于IDEA的JAVA基础10
  • (转)linux 命令大全
  • .NET 5种线程安全集合
  • .net 程序发生了一个不可捕获的异常
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net实现客户区延伸至至非客户区
  • /tmp目录下出现system-private文件夹解决方法
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [APUE]进程关系(下)
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [BJDCTF2020]The mystery of ip1
  • [C#]将opencvsharp的Mat对象转成onnxruntime的inputtensor的3种方法
  • [C#]扩展方法
  • [C++]入门基础(1)
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [codeforces]Checkpoints
  • [Contiki系列论文之2]WSN的自适应通信架构
  • [Eclipse] 详细设置护眼背景色和字体颜色并导出