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

使用CSS+SVG实现加载动画

使用CSS+SVG实现加载动画

效果展示

在这里插入图片描述

CSS知识点

  • SVG元素使用
  • SVG相关CSS属性运用

整体页面布局

<section><div class="box"><div class="loader"><svg><circle cx="40" cy="40" r="40"></circle></svg></div></div><div class="box"><div class="loader"><svg><circle cx="40" cy="40" r="40"></circle></svg></div></div><div class="box"><div class="loader"><svg><circle cx="40" cy="40" r="40"></circle></svg></div></div>
</section>

说明:这里定义了三个 box 元素,其中两个 box 主要是实现阴影效果。

定义场景样式和相关动画

section {display: flex;justify-content: center;align-items: center;min-height: 100vh;background: #072631;animation: animateBg 10s linear infinite;
}
/* 背景颜色改变动画 */
@keyframes animateBg {0% {filter: hue-rotate(0deg);}100% {filter: hue-rotate(360deg);}
}

定义 svgcircle 元素样式

svg {position: relative;width: 90px;height: 90px;z-index: 1000;
}
svg circle {width: 100%;height: 100%;fill: none;stroke-width: 10;stroke: #25e6ff;stroke-linecap: round;transform: translate(5px, 5px);stroke-dasharray: 250;stroke-dashoffset: 249;
}

完成上述代码后效果如下:
在这里插入图片描述

svgcircle 元素添加动画

svg {animation: fixAnimation 2s ease-in-out infinite;
}
/* SVG元素主要是负责 */
@keyframes fixAnimation {0% {transform: rotateY(0deg);}50% {transform: rotateY(0deg);}50.00000001%,100% {transform: rotateY(181deg);}
}
svg circle {animation: animate 2s ease-in-out infinite;
}
/* 实现加载动画,动画实现的时候开始和结束进度设置为对称,这样动画执行的时候会比较平滑 */
@keyframes animate {0%,2% {stroke-dashoffset: 249;}50% {stroke-dashoffset: 125;}99%,100% {stroke-dashoffset: 249;}
}

实现上述效果后如下:

在这里插入图片描述

对三个 box 元素进行样式处理

.box {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 150px;display: flex;justify-content: center;/* 倒影效果 */-webkit-box-reflect: below -80px linear-gradient(transparent, #0004);
}
.box:nth-child(2) {filter: blur(10px);
}.box:nth-child(3) {filter: blur(20px);
}

实现上述效果后,基本可以考到最终效果动画,但是后续还有一些动画需要处理。

加载动画进行旋转

.loader {animation: positionX 2s linear infinite;
}@keyframes positionX {0% {transform: rotate(180deg) translateX(-40px);}100% {transform: rotate(180deg) translateX(40px);}
}

完整代码下载

完整代码下载

相关文章:

使用CSS+SVG实现加载动画

使用CSSSVG实现加载动画 效果展示 CSS知识点 SVG元素使用SVG相关CSS属性运用 整体页面布局 <section><div class"box"><div class"loader"><svg><circle cx"40" cy"40" r"40"></circl…...

物联网(IoT)的未来发展:智能互联时代的到来

物联网&#xff08;IoT&#xff09;的未来发展&#xff1a;智能互联时代的到来 物联网&#xff08;IoT&#xff09;正在迅速改变我们与世界互动的方式。无论是智能家居、智慧城市&#xff0c;还是工业自动化&#xff0c;物联网技术通过设备互联、数据采集和智能控制&#xff0…...

斯坦福 CS229 I 机器学习 I 构建大型语言模型 (LLMs)

1. Pretraining -> GPT3 1.1. Task & loss 1.1.1. 训练 LLMs 时的关键点 对于 LLMs 的训练来说&#xff0c;Architecture&#xff08;架构&#xff09;、Training algorithm/loss&#xff08;训练算法/损失函数&#xff09;、Data&#xff08;数据&#xff09;、Evalu…...

Java->排序

目录 一、排序 1.概念 2.常见的排序算法 二、常见排序算法的实现 1.插入排序 1.1直接插入排序 1.2希尔排序(缩小增量法) 1.3直接插入排序和希尔排序的耗时比较 2.选择排序 2.1直接选择排序 2.2堆排序 2.3直接选择排序与堆排序的耗时比较 3.交换排序 3.1冒泡排序…...

linux 大小写转换

var"TM_card_INFo" # 把变量中的第一个字符换成大写 echo ${var^} # 把变量中的所有小写字母&#xff0c;全部替换为大写 echo ${var^^} # 把变量中的第一个字符换成小写 echo ${var,} # 把变量中的所有大写字母&#xff0c;全部替换为小写 echo ${var,,} 参考…...

Linux——传输层协议

目录 一再谈端口号 1端口号范围划分 2两个问题 3理解进程与端口号的关系 二UDP协议 1格式 2特点 3进一步理解 3.1关于UDP报头 3.2关于报文 4基于UDP的应用层协议 三TCP协议 1格式 2TCP基本通信 2.1关于可靠性 2.2TCP通信模式 3超时重传 4连接管理 4.1建立…...

centos系列,yum部署jenkins2.479.1,2024年长期支持版本

centos系列&#xff0c;yum部署jenkins2.479.1&#xff0c;2024年长期支持版本 0、介绍 注意&#xff1a;jenkins建议安装LTS长期支持版本&#xff0c;而不是安装每周更新版本&#xff0c;jenkins安装指定版本 openjdk官网下载 Index of /jenkins/redhat-stable/ | 清华大学开…...

正则表达式-“三剑客”(grep、sed、awk)

1.3正则表达式 正则表达式描述了一种字符串匹配的模式&#xff0c;可以用来检查一个串是否含有某种子串&#xff0c;将匹配的子串替换或者从某个串中取出符号某个条件的子串等&#xff0c;在linux中代表自定义的模式模版&#xff0c;linux工具可以用正则表达式过滤文本。Linux…...

数智时代的新航向:The Open Group 2024生态系统架构·可持续发展年度大会邀您共筑AI数字新时代

在全球可持续发展和数字化转型双重驱动下&#xff0c;企业正面临着前所未有的挑战与机遇。如何在激烈的市场竞争中&#xff0c;实现业务增长的同时&#xff0c;履行社会责任&#xff0c;达成可持续发展的目标&#xff1f;The Open Group 2024生态系统架构可持续发展年度大会将于…...

TensorFlow 的核心概念

TensorFlow 是一个开源的机器学习框架&#xff0c;由 Google 开发和维护。它提供了一个强大的工具集&#xff0c;用于构建和训练各种机器学习模型。 TensorFlow 的核心概念是计算图&#xff08;Computational Graph&#xff09;。计算图由节点&#xff08;Nodes&#xff09;和…...

SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz(动态新增、修改等操作)

SpringBoot教程&#xff08;二十四&#xff09; | SpringBoot实现分布式定时任务之Quartz&#xff08;动态新增、修改等操作&#xff09; 前言数据库脚本创建需要被调度的方法创建相关实体类创建业务层接口创建业务层实现类控制层类测试结果 前言 我这边的SpringBoot的版本为2…...

Matlab详细学习教程 MATLAB使用教程与知识点总结

Matlab语言教程 章节目录 一、Matlab简介与基础操作 二、变量与数据类型 三、矩阵与数组操作 四、基本数学运算与函数 五、图形绘制与数据可视化 六、控制流与逻辑运算 七、脚本与函数编写 八、数据导入与导出 九、Matlab应用实例分析 一、Matlab简介与基础操作 重点内容知识…...

【ELKB】Kibana使用

搭建好ELKB后访问地址&#xff1a;http://localhost:5601 输入账号密码登录以后 左侧导航有home、Analysis、Enterprise search 、Observability、Security、Management home&#xff1a;首页Analysis&#xff1a;工具来分析及可视化数据Enterprise search&#xff1a;企业级搜…...

ChatGPT免费使用:人工智能在现代社会中的作用

随着人工智能技术的不断发展&#xff0c;越来越多的应用程序和工具开始使用GPT作为其语言模型。但是&#xff0c;这些应用程序和工具是否收费&#xff1f;如果是免费的&#xff0c;那么他们是如何盈利的&#xff1f;在本文中&#xff0c;我们将探讨ChatGPT免费使用的背后原理&a…...

腾讯音乐:从 Elasticsearch 到 Apache Doris 内容库升级,统一搜索分析引擎,成本直降 80%

导读&#xff1a; 为满足更严苛数据分析的需求&#xff0c;腾讯音乐借助 Apache Doris 替代了 Elasticsearch 集群&#xff0c;统一了内容库数据平台的内容搜索和分析引擎。并基于 Doris 倒排索引和全文检索的能力&#xff0c;支持了复杂的自定义标签计算&#xff0c;实现秒级查…...

CubeMX的FreeRTOS学习

一、FreeRTOS的介绍 什么是FreeRTOS&#xff1f; Free即免费的&#xff0c;RTOS的全称是Real Time Operating system,中文就是实时操作系统。 注意&#xff1a;RTOS不是指某一个确定的系统&#xff0c;而是指一类的操作系统。比如&#xff1a;us/OS&#xff0c;FreeRTOS&…...

C语言初始:数据类型和变量

、 一.数据类型介绍 人有黄人白人黑人&#xff0c;那么数据呢&#xff1f; 我们大家可以看出谁是黄种人&#xff0c;谁是白种人&#xff0c;谁是黑种人&#xff0c;这是因为他们是类似的。 数据也是有类型的&#xff0c;就譬如整数类型&#xff0c;字符类型&#xff0c;浮点…...

Linux shellcheck工具

安装工具 通过linux yum源下载&#xff0c;可能因为yum源的问题找不到软件包&#xff0c;或者下载的软件包版本太旧。 ShellCheck的源代码托管在GitHub上(推荐下载方式)&#xff1a; GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts 对下…...

FLINK SQL时间属性

Flink三种时间属性简介 在Flink SQL中&#xff0c;时间属性是一个核心概念&#xff0c;它主要用于处理与时间相关的数据流。Flink支持三种时间属性&#xff1a;事件时间&#xff08;event time&#xff09;、处理时间&#xff08;processing time&#xff09;和摄入时间&#…...

android——Groovy gralde 脚本迁移到DSL

1、implementation的转换 implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:*** 转换为 implementation ("com.github.CymChad:BaseRecyclerViewAdapterHelper:***") 2、plugin的转换 apply plugin: kotlin-android-extensions 转换为&#x…...

3DGS训练完模型怎么可视化?手把手教你用官方Viewer在Windows上查看结果

3DGS训练完模型怎么可视化&#xff1f;手把手教你用官方Viewer在Windows上查看结果 当你花费数小时甚至数天时间在Linux服务器上完成3D高斯泼溅(3DGS)模型的训练后&#xff0c;最令人兴奋的时刻莫过于亲眼看到自己的训练成果。本文将详细介绍如何将训练好的模型从Linux服务器迁…...

PCB叠层设计原则与高速电路信号完整性优化

1. 多层PCB叠层设计基础原则在高速数字电路设计中&#xff0c;PCB叠层设计直接影响信号完整性、电源完整性和电磁兼容性。经过多年实践验证&#xff0c;优质叠层设计必须遵循两个核心原则&#xff1a;参考层邻近原则&#xff1a;每个信号走线层都必须有直接相邻的电源层或地层作…...

AI辅助开发winner1300图像处理:用自然语言描述自动生成并行滤波代码

今天尝试用AI辅助开发一个基于winner1300框架的图像并行处理项目&#xff0c;整个过程比想象中顺利很多。记录下这个用自然语言描述就能生成完整代码的神奇体验。 项目需求分析 我需要实现一个能同时应用高斯模糊和边缘检测滤镜的图像处理工具。核心难点在于如何利用winner1300…...

CnOpenData 中国全部银行对外投资信息数据

银行是经营货币和信用业务的金融机构&#xff0c;通过发行信用货币、管理货币流通、调剂资金供求、办理货币存贷与结算&#xff0c;是商品货币经济发展到一定阶段的产物。自改革开放以来&#xff0c;我国的商品经济愈发活跃&#xff0c;银行业的规模发展十分迅速。但在如今利率…...

RevokeMsgPatcher 2.1:实用高效的微信QQ防撤回完整解决方案

RevokeMsgPatcher 2.1&#xff1a;实用高效的微信QQ防撤回完整解决方案 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitco…...

零基础玩转通义千问2.5:手把手教你用vLLM+Open WebUI一键部署

零基础玩转通义千问2.5&#xff1a;手把手教你用vLLMOpen WebUI一键部署 1. 通义千问2.5-7B-Instruct简介 1.1 模型特点概述 通义千问2.5-7B-Instruct是阿里云2024年9月发布的70亿参数指令微调模型&#xff0c;定位为"中等体量、全能型、可商用"的开源大语言模型。…...

Obsidian表格处理革新:Excel插件的无缝集成方案

Obsidian表格处理革新&#xff1a;Excel插件的无缝集成方案 【免费下载链接】obsidian-excel 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-excel 在知识管理的日常工作中&#xff0c;你是否经常遇到这样的困境&#xff1a;在Obsidian中记录项目数据时&#…...

Axios知识

安装:npm方式&#xff1a;npm install axios直接方式&#xff1a;<script src"https://unpkg.com/axios/dist/axios.min.js"></script>实例&#xff1a;// 发起一个post请求 axios({method: post,url: /user/12345,data: { // 向后端传参数firstName: Fr…...

AMD显卡AI部署实战指南:ROCm模型运行与性能优化

AMD显卡AI部署实战指南&#xff1a;ROCm模型运行与性能优化 【免费下载链接】ollama-for-amd Get up and running with Llama 3, Mistral, Gemma, and other large language models.by adding more amd gpu support. 项目地址: https://gitcode.com/gh_mirrors/ol/ollama-for…...

Hunyuan-MT-7B翻译终端效果展示:Pixel Language Portal长文本段落对齐精度对比

Hunyuan-MT-7B翻译终端效果展示&#xff1a;Pixel Language Portal长文本段落对齐精度对比 1. 产品概览&#xff1a;像素语言冒险工坊 **像素语言跨维传送门(Pixel Language Portal)**是一款基于腾讯Hunyuan-MT-7B核心引擎构建的创新翻译终端。与传统翻译工具不同&#xff0c…...