使用CSS实现酷炫加载

ops/2024/10/18 1:24:18/

使用CSS实现酷炫加载

效果展示

在这里插入图片描述

整体页面布局

<div class="container"></div>

使用JavaScript添加loading加载动画的元素

document.addEventListener("DOMContentLoaded", () => {let container = document.querySelector(".container");for (let j = 0; j < 4; j++) {let loader = document.createElement("div");loader.classList.add("loader");loader.style.setProperty("--j", j);for (let i = 0; i <= 20; i++) {let span = document.createElement("span");span.style.setProperty("--i", i);loader.appendChild(span);}container.appendChild(loader);}});

编写loading元素样式

css">.container {display: flex;justify-content: center;align-items: center;min-height: 100vh;background: #042104;
}.loader {position: relative;transform: rotate(calc(45deg * var(--j)));
}.loader span {position: absolute;transform: rotate(calc(18deg * var(--i)));
}.loader span {position: absolute;
}.loader span::before {content: "";position: absolute;width: 15px;height: 15px;border: 2px solid #00ff0a;border-radius: 2px;animation: animate 5s linear infinite;animation-delay: calc(-0.5s * var(--i));
}.loader:nth-child(even) span::before {background: #00ff0a;
}

实现上述代码后,效果如下:
在这里插入图片描述

实现loading动画

css">@keyframes animate {0% {transform: translateX(250px) scale(4);opacity: 0;}50% {opacity: 1;}100% {transform: translateX(-10px) scale(0);}
}

使用 filter 属性修改颜色

css">.container {filter: hue-rotate(70deg);
}

完整代码下载

完整代码下载


http://www.ppmy.cn/ops/124283.html

相关文章

SparkCore与FlinkCore的区别有哪些

1.架构理念方面: Spark Core: Spark 基于 RDD&#xff08;弹性分布式数据集&#xff09;的概念构建。RDD 是一个不可变的、分布式的对象集合&#xff0c;它可以在集群中的多个节点上进行并行计算。例如&#xff0c;在处理大规模的日志文件时&#xff0c;Spark 可以将日志文件…

ARM学习(32)FreeRTOS 调度和timer流程

笔者来简单聊一下FreeRTOS的调度流程和timer 流程 之前笔者简单介绍了一下FreeRTOS的IPC 通信方式。现在介绍一下FreeRTOS的调度流程,结合一下ARM CortexM4的寄存器等内容,ARM CortexM4的通用寄存器介绍以及

ubuntu24 finalshell 无法连接ubuntu服务器, 客户端无法连接ubuntu, 无法远程连接ubuntu。

场景&#xff1a; 虚拟机新创建一个最小化的ubuntu服务器&#xff0c;使用finalshell连接服务&#xff0c;发现连接不上。 1. 查看防火墙ufw 是否开启&#xff0c;22端口是否放行 2. 查看是否安装openssh server, 并配置 我的问题是安装了openssh server 但是没有配置root可…

八大排序--07归并排序

假设数组 arr[] {5,7,4,2,0,1,6},请通过插入排序的方式&#xff0c;实现从小到大排列&#xff1a; 方法&#xff1a;先拆分&#xff0c;再合并&#xff0c;并在合并过程中结束临时空间进行排序&#xff1b; 拆分&#xff1a;从待排序列中间位置拆开&#xff0c;数据分成左右两…

【Linux】C文件头文件数裁剪前58644个,裁剪后9373个

裁剪后可以访问网络和从Windows共享的文件夹&#xff1a; 纯C代码编译&#xff08;不包含打包&#xff09;时长比较&#xff1a;未裁剪前&#xff1a;大约5.5小时&#xff0c;裁剪后大约35分钟。 C文件和头文件数量比较&#xff08;目录里边实际还有tools和scripts目录&#xf…

uibot发送邮件:自动化邮件发送教程详解!

uibot发送邮件的操作指南&#xff1f;uibot发送邮件的两种方式&#xff1f; 在现代办公环境中&#xff0c;自动化流程的引入极大地提高了工作效率。uibot发送邮件功能成为了许多企业和个人实现邮件自动化发送的首选工具。AokSend将详细介绍如何使用uibot发送邮件。 uibot发送…

【论文#性能对比】Video coding with H.264/AVC: Tools, Performance, and Complexity

目录 摘要1.前言2.标准化视频编码方案的概念3. H.264/AVC 编码方案3.1 帧内预测3.2 运动补偿预测3.3 变换编码3.4 熵编码方案3.5 自适应去块滤波器3.6 错误鲁棒性和网络友好性 4.码率受限的编码器控制5. H.264/AVC 的配置文件和级别6.与先前标准的比较6.1 编码效率6.2 硬件复杂…

Django 后端数据传给前端

Step 1 创建一个数据库 Step 2 在Django中点击数据库连接 Step 3 连接成功 Step 4 settings中找DATABASES Step 5 将数据库挂上面 将数据库引擎和数据库名改成自己的 Step 6 在_init_.py中加上数据库的支持语句 import pymysql pymysql.install_as_MySQLdb() Step7 简单创建两…