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

【CSS】纯CSS Loading动画组件

在这里插入图片描述

<template><div class="ai-loader-box"><!-- AI loader --><div class="ai-loader"><div class="text"><p>AI智能分析中....</p></div><div class="horizontal"><div class="circlesup"><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div></div><div class="circlesdwn"><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div></div></div><div class="vertical"><div class="circlesup"><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div></div><div class="circlesdwn"><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div></div></div></div></div>
</template><style scoped>
.ai-loader-box{position: relative;width: 600px;height: 600px;margin: 20px auto;
}
/* Start the loader code, first, let's align it the center of screen */
.ai-loader {position: absolute;top: 50%;left: 50%;-webkit-transform: translate(-50%, -50%);-moz-transform: translate(-50%, -50%);-mos-transform: translate(-50%, -50%);-o-transform: translate(-50%, -50%);transform: translate(-50%, -50%);text-align: center;/* disable selection and cursor changes */-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;cursor: default;
}/* Text align it the center of screen and connect the looped animation for 2 seconds */
.text {position: absolute;left: -110px;top: -1.7em;/* -webkit-animation: text 2s infinite;-moz-animation: text 2s infinite;-moz-animation: text 2s infinite;-ms-animation: text 2s infinite;-o-animation: text 2s infinite;animation: text 2s infinite; */width: 280px;z-index: 10;color: #f00;background: #fff1f1db;border-radius: 4px;font-size: 40px;
}/* Set for the first layer vertical position */
.vertical {position: absolute;top: -1.84em;left: -0.4em;-webkit-transform: rotate(90deg);-moz-transform: rotate(90deg);-ms-transform: rotate(90deg);-o-transform: rotate(90deg);transform: rotate(90deg);
}/* Set for the second layer horizontal position */
.horizontal {position: absolute;top: 0em;left: 0em;-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-ms-transform: rotate(0deg);-o-transform: rotate(0deg);transform: rotate(0deg);
}/* The next two classes do mirror for animation */
.circlesup {position: absolute;top: -4.7em;right: 12.1em;
}.circlesdwn {position: absolute;top: 2.5em;right: -13.5em;-webkit-transform: rotate(180deg);-moz-transform: rotate(180deg);-ms-transform: rotate(180deg);-o-transform: rotate(180deg);transform: rotate(180deg);
}/* Create a container for our circles, rotate it 45 degrees and set animation*/
.circle {position: absolute;width: 15em;height: 15em;-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);-webkit-animation: orbit 2s infinite;-moz-animation: orbit 2s infinite;-moz-animation: orbit 2s infinite;-ms-animation: orbit 2s infinite;-o-animation: orbit 2s infinite;animation: orbit 2s infinite;z-index: 5;
}/* Style's of our circles */
.circle:after {content: '';position: absolute;width: 2em;height: 2em;-webkit-border-radius: 100%;-moz-border-radius: 100%;-ms-border-radius: 100%;-o-border-radius: 100%;border-radius: 100%;background: rgb(255, 20, 20);/* Pick a color 1*/
}.circle:nth-child(2) {-webkit-animation-delay: 100ms;-moz-animation-delay: 100ms;-ms-animation-delay: 100ms;-o-animation-delay: 100ms;animation-delay: 100ms;z-index: 4;
}.circle:nth-child(2):after {background: var(--el-color-primary);/* Pick a color 2*/-webkit-transform: scale(0.8,0.8);-moz-transform: scale(0.8,0.8);-ms-transform: scale(0.8,0.8);-o-transform: scale(0.8,0.8);transform: scale(0.8,0.8);
}.circle:nth-child(3) {-webkit-animation-delay: 225ms;-moz-animation-delay: 225ms;-ms-animation-delay: 225ms;-o-animation-delay: 225ms;animation-delay: 225ms;z-index: 3;
}.circle:nth-child(3):after {background: var(--el-color-primary-light-3);/* Pick a color 3*/-webkit-transform: scale(0.6,0.6);-moz-transform: scale(0.6,0.6);-ms-transform: scale(0.6,0.6);-o-transform: scale(0.6,0.6);transform: scale(0.6,0.6);
}.circle:nth-child(4) {-webkit-animation-delay: 350ms;-moz-animation-delay: 350ms;-ms-animation-delay: 350ms;-o-animation-delay: 350ms;animation-delay: 350ms;z-index: 2;
}.circle:nth-child(4):after {background: var(--el-color-primary-light-5);/* Pick a color 4*/-webkit-transform: scale(0.4,0.4);-moz-transform: scale(0.4,0.4);-ms-transform: scale(0.4,0.4);-o-transform: scale(0.4,0.4);transform: scale(0.4,0.4);
}.circle:nth-child(5) {-webkit-animation-delay: 475ms;-moz-animation-delay: 475ms;-ms-animation-delay: 475ms;-o-animation-delay: 475ms;animation-delay: 475ms;z-index: 1;
}.circle:nth-child(5):after {background: var(--el-color-primary);/* Pick a color 5*/-webkit-transform: scale(0.2,0.2);-moz-transform: scale(0.2,0.2);-ms-transform: scale(0.2,0.2);-o-transform: scale(0.2,0.2);transform: scale(0.2,0.2);
}/* Animation keys */
@-webkit-keyframes orbit {0% {-webkit-transform: rotate(45deg);}5% {-webkit-transform: rotate(45deg);-webkit-animation-timing-function: ease-out;}70% {-webkit-transform: rotate(405deg);-webkit-animation-timing-function: ease-in;}100% {-webkit-transform: rotate(405deg);}
}@-moz-keyframes orbit {0% {-moz-transform: rotate(45deg);}5% {-moz-transform: rotate(45deg);-moz-animation-timing-function: ease-out;}70% {-moz-transform: rotate(405deg);-moz-animation-timing-function: ease-in;}100% {-moz-transform: rotate(405deg);}
}@-ms-keyframes orbit {0% {-ms-transform: rotate(45deg);}5% {-ms-transform: rotate(45deg);-ms-animation-timing-function: ease-out;}70% {-ms-transform: rotate(405deg);-ms-animation-timing-function: ease-in;}100% {-ms-transform: rotate(405deg);}
}@-o-keyframes orbit {0% {-o-transform: rotate(45deg);}5% {-o-transform: rotate(45deg);-o-animation-timing-function: ease-out;}70% {-o-transform: rotate(405deg);-o-animation-timing-function: ease-in;}100% {-o-transform: rotate(405deg);}
}@keyframes orbit {0% {transform: rotate(45deg);}5% {transform: rotate(45deg);animation-timing-function: ease-out;}70% {transform: rotate(405deg);animation-timing-function: ease-in;}100% {transform: rotate(405deg);}
}@-webkit-keyframes text {0% {-webkit-transform: scale(0.2,0.2);-webkit-animation-timing-function: ease-out;}40%,60% {-webkit-transform: scale(1,1);-webkit-animation-timing-function: ease-out;}70%,100% {-webkit-transform: scale(0.2,0.2);}
}@-moz-keyframes text {0% {-moz-transform: scale(0.2,0.2);-moz-animation-timing-function: ease-out;}50% {-moz-transform: scale(1,1);-moz-animation-timing-function: ease-out;}60% {-moz-transform: scale(1,1);-moz-animation-timing-function: ease-out;}100% {-moz-transform: scale(0.2,0.2);}
}@-mos-keyframes text {0% {-mos-transform: scale(0.2,0.2);-mos-animation-timing-function: ease-out;}50% {-mos-transform: scale(1,1);-mos-animation-timing-function: ease-out;}60% {-mos-transform: scale(1,1);-mos-animation-timing-function: ease-out;}100% {-mos-transform: scale(0.2,0.2);}
}@-o-keyframes text {0% {-o-transform: scale(1,1);-o-animation-timing-function: ease-out;}50% {-o-transform: scale(2,2);-o-animation-timing-function: ease-out;}100% {-o-transform: scale(1,1);-o-animation-timing-function: ease-out;}
}@keyframes text {0% {transform: scale(1,1);animation-timing-function: ease-out;}50% {transform: scale(2,2);animation-timing-function: ease-out;}100% {transform: scale(1,1);animation-timing-function: ease-out;}
}
</style>

相关文章:

【CSS】纯CSS Loading动画组件

<template><div class"ai-loader-box"><!-- AI loader --><div class"ai-loader"><div class"text"><p>AI智能分析中....</p></div><div class"horizontal"><div class&quo…...

rootless模式下istio ambient鉴权策略

环境说明 rootless模式下测试istio Ambient功能 四层鉴权策略 这里四层指的是网络通信模型的第四层&#xff0c;主要的传输协议为TCP和UDP。 用于限制服务间的通信&#xff0c;比如下面的策略应用于带有 app: productpage 标签的 Pod&#xff0c; 并且仅允许来自服务帐户 clus…...

超详细的总结!最新大模型算法岗面试题(含答案)来了!

大模型应该是目前当之无愧的最有影响力的AI技术&#xff0c;它正在革新各个行业&#xff0c;包括自然语言处理、机器翻译、内容创作和客户服务等&#xff0c;正成为未来商业环境的重要组成部分。 截至目前大模型已超过200个&#xff0c;在大模型纵横的时代&#xff0c;不仅大模…...

vmware-17pro全网最细安装教程(图文讲解,不需注册账户)

文章目录 一、下载安装包&#xff1a; 二、安装教程&#xff1a; 三、检查是否安装成功 四、许可证密匙 vmware安装教程 一、下载安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1yC610SU1-O9Jtk7nUrZuSA?pwdsKBy 提取码&#xff1a;sKBy 二、安装教程&…...

C/C++(二)C++入门基础

这一章会介绍C入门必须掌握的一些基础概念。 一、函数重载 1、什么是函数重载&#xff1f; 函数重载是C相比于C语言的一个重大改进。 即C允许在同一作用域内声明多个功能类似的同名函数&#xff0c;这些函数的参数类型 / 个数 / 类型顺序不同。&#xff08;注&#xff1a;返回…...

人工智能发展:一场从“被教导”到“自我成长”的奇妙冒险

说到人工智能&#xff08;AI&#xff09;&#xff0c;大家的第一反应往往是机器人、无人驾驶、或者那个让人害怕的AI会不会取代人类。其实&#xff0c;AI的进化过程简直像一部精彩的电影&#xff0c;有起伏、有高潮、有让人摸不着头脑的时刻。今天&#xff0c;我们就一起来“吃…...

企业级 RAG 全链路优化关键技术

本文根据2024云栖大会实录整理而成&#xff0c;演讲信息如下&#xff1a; 演讲人&#xff1a; 邢少敏 | 阿里云智能集团高级技术专家 活动&#xff1a; 2024 云栖大会 - AI 搜索企业级 RAG 全链路优化关键技术 在2024云栖大会上&#xff0c;阿里云 AI 搜索研发负责人之一的…...

学习文档(5)

Redis应用 目录 Redis应用 Redis 除了做缓存&#xff0c;还能做什么&#xff1f; Redis 可以做消息队列么&#xff1f; Redis 可以做搜索引擎么&#xff1f; 如何基于 Redis 实现延时任务&#xff1f; Redis 除了做缓存&#xff0c;还能做什么&#xff1f; 分布式锁&…...

node.js下载安装以及环境配置超详细教程【Windows版本】

node安装以及环境变量配置 Step1&#xff1a;选择版本进行安装Step2&#xff1a;安装Node.jsStep3&#xff1a;环境配置Step4&#xff1a;检查node.js是否成功安装Step5&#xff1a;npm修改下载镜像 Step1&#xff1a;选择版本进行安装 Node.js 安装包及源码下载地址为 Node.…...

08_实现 reactive

目录 编写 reactive 的函数签名处理对象的其他行为拦截 in 操作符拦截 for...in 循环delete 操作符 处理边界新旧值发生变化时才触发依赖的情况处理从原型上继承属性的情况处理一个对象已经是代理对象的情况处理一个原始对象已经被代理过一次之后的情况 浅响应与深响应代理数组…...

finereport 中台 帆软 编码解码

帆软用的 post 方式编码不是用的 dict&#xff0c;而是二次 url 编码&#xff0c;需要二次解析 import time import urllib.parse import json# 原始字符串 encoded_string data "__parameters__%7B%22MANUFACTURER%22%3A%22%22%2C%22CATEGORY%22%3A%22%22%2C%22HHPN_L…...

Day15-数据库服务全面优化与PT工具应用

Day15-数据库服务全面优化与PT工具应用 1、数据库服务优化讲解1.2 数据库服务系统层面的优化1.3 数据库服务软件版本选择1.4 数据库服务结构参数优化1.4.1 数据库连接层优化1.4.2 数据库服务层优化1.4.3 数据库引擎层优化1.4.4 数据库复制相关优化1.4.5 数据库其他相关优化 1.5…...

开源限流组件分析(二):uber-go/ratelimit

文章目录 本系列漏桶限流算法uber的漏桶算法使用mutex版本数据结构获取令牌松弛量 atomic版本数据结构获取令牌测试漏桶的松弛量 总结 本系列 开源限流组件分析&#xff08;一&#xff09;&#xff1a;juju/ratelimit开源限流组件分析&#xff08;二&#xff09;&#xff1a;u…...

探索 SVG 创作新维度:svgwrite 库揭秘

文章目录 **探索 SVG 创作新维度&#xff1a;svgwrite 库揭秘**背景介绍库简介安装指南基础函数使用实战场景常见问题与解决方案总结 探索 SVG 创作新维度&#xff1a;svgwrite 库揭秘 背景介绍 在数字艺术和网页设计领域&#xff0c;SVG&#xff08;Scalable Vector Graphic…...

为什么要做PFAS测试?PFAS检测项目详细介绍

PFAS测试之所以重要&#xff0c;主要归因于PFAS&#xff08;全氟和多氟化合物&#xff09;的广泛存在、持久性、生物累积性和潜在的毒性。这些特性使得PFAS在环境和人体中可能长期存在&#xff0c;并对生态系统和人类健康构成威胁。以下是对PFAS检测项目的详细介绍以及进行PFAS…...

稀土阻燃协效剂的应用

稀土阻燃协效剂是一类利用稀土元素&#xff08;如铈、镧、钕、铕等&#xff09;具有的独特性质&#xff0c;来增强材料阻燃性能的化学物质。在聚合物材料燃烧时可催化酯花成碳&#xff0c;迅速在高分子表面形成致密连续的碳层&#xff0c;隔绝聚合物材料内部的可燃性气体与氮气…...

Java的异常处理

常见异常 ① 运行时异常 a、ClassNotFoundException b、FileNotFoundException c、IOException ② 编译时异常 a、ArrayIndexOutOfBoundsException b、NullPointerException c、ClassCastException d、InputFormatException e、InputMismatchException f、ArithmeticException …...

免费域名邮箱申请和使用教程:有哪些步骤?

免费域名邮箱设置指南&#xff1f;如何免费注册烽火域名邮箱&#xff1f; 对于个人和企业而言&#xff0c;拥有一个专属的域名邮箱不仅能提升专业形象&#xff0c;还能增强品牌识别度。烽火将详细介绍如何申请和使用免费域名邮箱&#xff0c;帮助您轻松拥有一个专属的电子邮件…...

Linux之实战命令45:swapon应用实例(七十九)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…...

提升数据处理效率:TDengine S3 的最佳实践与应用

在当今数据驱动的时代&#xff0c;如何高效地存储与处理海量数据成为了企业面临的一大挑战。为了解决这一问题&#xff0c;我们在 TDengine 3.2.2.0 首次发布了企业级功能 S3 存储。这一功能经历多个版本的迭代与完善后&#xff0c;逐渐发展成为一个全面和高效的解决方案。 S3…...

Go Routine 调度可视化分析

Go Routine调度可视化分析&#xff1a;揭开并发调度的神秘面纱 在Go语言中&#xff0c;Goroutine以其轻量级和高并发的特性成为开发者处理多任务的首选工具。Goroutine的调度机制对许多开发者来说仍然是一个“黑箱”&#xff0c;尤其是在高并发场景下&#xff0c;如何高效管理…...

Cursor Pro完整解锁方案:一站式解决AI编程助手使用限制的终极指南

Cursor Pro完整解锁方案&#xff1a;一站式解决AI编程助手使用限制的终极指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reach…...

嵌入式开发必备:三大代码对比工具深度评测

1. 代码对比工具概述作为一名嵌入式开发工程师&#xff0c;我每天都要处理大量的代码修改和版本对比工作。在多年的开发实践中&#xff0c;我发现选择合适的代码对比工具能极大提升工作效率。虽然Beyond Compare是业内公认的标杆产品&#xff0c;但实际工作中我们还有更多选择&…...

零基础玩转mxbai-embed-large-v1:6大核心功能实战,从向量化到摘要生成

零基础玩转mxbai-embed-large-v1&#xff1a;6大核心功能实战&#xff0c;从向量化到摘要生成 1. 引言&#xff1a;为什么选择mxbai-embed-large-v1&#xff1f; mxbai-embed-large-v1是当前自然语言处理领域的一颗新星&#xff0c;这款多功能句子嵌入模型在MTEB基准测试中表…...

PyTorch导入报错?手把手教你解决WinError 126找不到fbgemm.dll的问题(附libomp140.dll下载)

PyTorch导入报错终极解决方案&#xff1a;WinError 126缺失fbgemm.dll的深度修复指南 当你满怀期待地准备开始PyTorch深度学习项目时&#xff0c;突然遭遇"OSError: [WinError 126] 找不到指定的模块"错误&#xff0c;这感觉就像赛车手在起跑线上发现引擎无法启动。这…...

3个核心优势:BG3 Mod Manager的模组管理创新特性

3个核心优势&#xff1a;BG3 Mod Manager的模组管理创新特性 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. This is the only official source! 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 博德之门3&#xff08;Baldurs Gate 3&…...

Z-Image-Turbo_Sugar脸部Lora部署案例:科研团队构建可复现实验人脸数据集

Z-Image-Turbo_Sugar脸部Lora部署案例&#xff1a;科研团队构建可复现实验人脸数据集 1. 项目背景与价值 在计算机视觉和人工智能研究领域&#xff0c;高质量、标准化的人脸数据集对于模型训练和算法验证至关重要。传统的人脸数据收集面临诸多挑战&#xff1a;数据隐私问题、…...

英雄联盟ChampR助手:5分钟快速上手,轻松获取专业出装符文

英雄联盟ChampR助手&#xff1a;5分钟快速上手&#xff0c;轻松获取专业出装符文 【免费下载链接】champ-r &#x1f436; Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champ-r 还在为每次游戏都要手动查找英雄出装和符文而烦恼…...

AUC 的两种等价定义:从排序概率到 ROC 曲线的统一理解

一、AUC 的本质&#xff1a;一个排序概率1. 问题设定假设我们面对的是一个二分类 / 排序问题&#xff1a;每个样本 &#xfffd;&#xfffd; 有真实标签 &#xfffd;&#xfffd;∈0,1模型给出一个连续预测分数 &#xfffd;&#xfffd;∈&#xfffd;分数越大&#xff0c;模…...

2026专业护眼产品深度评测:告别眼干涩疲劳,哪款才是“医用级“长效养护的选择?

屏幕时代&#xff0c;眼睛正在为我们的工作和生活"买单"。从早起看手机的那一刻&#xff0c;到深夜关灯前最后一次刷屏&#xff0c;多数人每天面对电子屏幕的时间早已超过10小时。干涩、疲劳、视力模糊、异物感……这些曾经只出现在中老年人身上的困扰&#xff0c;正…...