Vue3中实现原生CSS完成圆形按钮点击粒子效果和定点旋转动画
效果:

源码:
<script setup>
import { ElMessage } from "element-plus";
const isClick = () => {ElMessage.success('Clicked');
};
</script><template><button @click="isClick" class="button"><el-icon><Refresh /></el-icon></button>
</template><style scoped>
.button {display: inline-block;background-color: #07c160;color: #fff;border-radius: 4px;border: none;cursor: pointer;position: relative;box-shadow: 0 2px 25px rgba(233, 30, 99, 0.5);outline: 0;transition: transform ease-in 0.1s, background-color ease-in 0.1s, box-shadow ease-in 0.25s;width: 24px;height: 24px;border-radius: 12px;left:15px;top:15px;padding: 3px;animation: tada 1s;
}.button::before {position: absolute;content: '';left: -2em;right: -2em;top: -2em;bottom: -2em;pointer-events: none;transition: ease-in-out .5s;background-repeat: no-repeat;background-image: radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%),radial-gradient(circle, #03ebf3 20%, transparent 20%);background-size: 10% 10%, 20% 20%, 15% 15%, 20% 20%, 18% 18%, 10% 10%, 15% 15%, 10% 10%, 18% 18%,15% 15%, 20% 20%, 18% 18%, 20% 20%, 15% 15%, 10% 10%, 20% 20%;background-position: 18% 40%, 20% 31%, 30% 30%, 40% 30%, 50% 30%, 57% 30%, 65% 30%, 80% 32%, 15% 60%,83% 60%, 18% 70%, 25% 70%, 41% 70%, 50% 70%, 64% 70%, 80% 71%;animation: bubbles ease-in-out .75s forwards;
}.button:active {transform: scale(0.95);background-color: #03ebf3;box-shadow: 0 2px 25px rgba(233, 30, 99, 0.5);
}.button:active::before {animation: none;background-size: 0;
}/* 动画效果 */
@keyframes tada {from {transform: scale3d(1, 1, 1);}10%, 20% {transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -5deg);}30%, 50%, 70%, 90% {transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg);}40%, 60%, 80% {transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg);}to {transform: scale3d(1, 1, 1);}
}@keyframes bubbles {0% {background-position: 18% 40%, 20% 31%, 30% 30%, 40% 30%, 50% 30%, 57% 30%, 65% 30%, 80% 32%, 15% 60%,83% 60%, 18% 70%, 25% 70%, 41% 70%, 50% 70%, 64% 70%, 80% 71%;}50% {background-position: 10% 44%, 0% 20%, 15% 5%, 30% 0%, 42% 0%, 62% -2%, 75% 0%, 95% -2%, 0% 80%,95% 55%, 7% 100%, 24% 100%, 41% 100%, 55% 95%, 68% 96%, 95% 100%;}100% {background-position: 5% 44%, -5% 20%, 7% 5%, 23% 0%, 37% 0, 58% -2%, 80% 0%, 100% -2%, -5% 80%,100% 55%, 2% 100%, 23% 100%, 42% 100%, 60% 95%, 70% 96%, 100% 100%;background-size: 0% 0%;}
}
</style>
相关文章:
Vue3中实现原生CSS完成圆形按钮点击粒子效果和定点旋转动画
效果: 源码: <script setup> import { ElMessage } from "element-plus"; const isClick () > {ElMessage.success(Clicked); }; </script><template><button click"isClick" class"button">…...
百度网盘 服务器开小差了
有会员,新上传文件到百度网盘,分享链接, 别人打开链接,显示【服务器开小差了,请稍后重试~】,保存不了 试了几个都不行,文件是视频MP4 可行的方法是百度网盘加好友,然后在聊天页面单…...
数据分析师招聘要求
在当今数据驱动的世界中,数据分析师的角色变得愈发重要,他们被赋予从海量数据中提炼洞察的关键任务。数据分析师的招聘要求反映了这个职位多方面的需求,从教育背景到技能,再到软技能和行业特有的知识。本文将详细探讨这些要求&…...
【C语言】实战-力扣题库:回文链表
题目描述 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 提示: 链表中节点数目在范围[1, 105] 内0 < Node.val < 9 进阶:你能否用 O(n) 时间…...
Centos安装Minio
文章目录 1 远程下载二进制文件2 创建目录:文件存储、日志3 授权执行4 启动5 创建配置文件6 注册服务并开机自启7 创建key附录参考文档 1 远程下载二进制文件 [rootlocalhost bin]# cd /opt/package [rootlocalhost package]# wget https://dl.min.io/server/minio…...
二叉树的基本概念和底层实现
1. 树型结构 1.1 认识树 在学习二叉树之前我们需要了解一下树型结构 树是一种非线性的数据结构,它是由n个结点组成的一个有层次关系的集合,看起来像个倒挂的树,也就是根朝上,枝叶朝下. 特点: 1. 根结点没有前驱结点 2. 除了根结点外其他的结点被分为互不相交的集合,每个集合又…...
GIF图片格式详解(三)
gif历史部分介绍请参考上一篇《GIF图片格式详解(一)》, 格式部分详解参考 《GIF图片格式详解(二)》 或直接访问博客地址:https://blog.whatsroot.xyz/2023/12/16/all-about-gif/ 本篇介绍下用于处理gif图…...
类和对象相关题
文章目录 1. 求123...n2. 计算是这一年的第几天3. 求两个日期之间的天数4. 算出第n天是几月几号5. 计算一个日期加上若干天后是什么日期 1. 求123…n 求123…n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C&a…...
Word大珩助手:超大数字怎么读?35位数字?69位数字?
俄罗斯日前对谷歌开出了20000000000000000000000000000000000(35位数字)美元的罚款 这一数字远超全球GDP总和,消息一出很快就登上热搜。 面对这样一个庞大的数字,人们不禁好奇,这样的数字该如何读出来? …...
阿里云k8s-master部署CNI网络插件遇到的问题
问题 按照网络上的部署方法 cd /opt/k8s # 下载 calico-kube-controllers配置文件,可能会网络超时 curl https://docs.projectcalico.org/manifests/calico.yaml -O kubectl apply -f calico.yaml 试了很多次都不行,k8s-master都是Not ready的状态 ca…...
【LwIP源码学习4】主线程tcpip_thread
前言 本文对lwip的主要线程tcpip_thread进行分析。 正文 tcpip_thread是lwip最主要的线程,其创建在tcpip_init函数中 sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO);tcpip_init函数被TCPIP_Init函数调用。…...
求猫用宠物空气净化器推荐,有没有吸毛强、噪音小的产品
自从成为铲屎官,真的和当妈没有区别了。家里的毛孩子成天掉毛,我就跟在它屁股后面默默收拾,一举一动都要时刻关注。最近换季,家里还多了不少浮毛,全飘在空气中,阳光照射下非常明显。 我妈看到后各种吐槽&a…...
pycharm中python控制台出现CommandNotFoundError: No command ‘conda run‘.
1、错误现象 pycharm中打开python控制台出现CommandNotFoundError: No command conda run.的错误。 2、背景 conda是4.6版本,在Anaconda Prompt可以正常运行虚拟环境。 3、解决方法 更新conda版本,基本命令,会自动更新到最新版本。 con…...
架构师备考-架构基本概念
目录 基本概念 架构设计与生命周期 需求分析 设计阶段 实现阶段 构件组装阶段 部署阶段 后开发阶段 动态软件体系结构 体系结构恢复与重建 软件架构设计的重要性 基本概念 软件架构(Software Architecture)设计主要关注软件构件的结构、属性和…...
信奥赛C++知识点
参加信息学奥林匹克竞赛(信奥赛)所需学习的C知识点,以下是一个详细的知识点列表: 一、C语言基础 程序结构 头文件:包含必要的头文件,如<iostream>用于输入输出。 命名空间:使用using …...
高并发内存池扩展 -- 处理大内存,优化释放时需要传入空间大小,加入定长内存池,存放映射关系的容器的锁机制,优化性能(基数树,优势,优化前后对比)
目录 高并发内存池 扩展 测试 大内存 介绍 代码 优化释放时需要传入空间大小 介绍 赋值 代码 加入定长内存池 引入 介绍 代码 存放映射关系的容器 锁机制 写入 读取 优化性能 引入 基数树 单级基数树 两级基数树 三级基数树 优势 引入代码 优化前后…...
Composite(组合)
1)意图 将对象组合成树型结构以表示“部分-整体”的层次结构。Composite 使得用户对单个对象和组合对象的使用具有一致性。 2)结构 组合模式的结构如图 7-33 所示。 其中: Component 为组合中的对象声明接口;在适当情况下实现所有类共有接口的默认行为;声明一个接口用于访问…...
有Bootloader,为什么还要BROM?
有Bootloader,为什么还要BROM? 不少硬件平台都提供类似Boot ROM或者PBL(高通平台)固化的一段程序,出厂后用户一定不能修改。BROM可以引导Bootloader程序。大家知道,每个可启动的平台都会在存储设备,例如EMMC/NAND/UFS保存Bootloa…...
【MATLAB代码】CV和CA模型组成的IMM(滤波方式为UKF),可复制粘贴源代码
该MATLAB代码实现了基于无迹卡尔曼滤波器(UKF)的交互式多模型(IMM)滤波算法,旨在跟踪目标在不同运动模式(匀速直线运动CV和匀速圆周运动CT)的位置和速度。订阅专栏后,直接复制粘贴代码到MATLAB空脚本中,即可运行 文章目录 运行结果源代码程序介绍1. 初始化和参数设定2…...
【网络】传输层协议TCP(下)
目录 四次挥手状态变化 流量控制 PSH标记位 URG标记位 滑动窗口 快重传 拥塞控制 延迟应答 mtu TCP异常情况 四次挥手状态变化 之前我们讲了四次挥手的具体过程以及为什么要进行四次挥手,下面是四次挥手的状态变化 那么我们下面可以来验证一下CLOSE_WAIT这…...
涡流检测驱动的发动机气门硬度分选技术【附算法】
✨ 长期致力于核环境机器人、机器人运动学、机械臂振动抑制、自适应动力学控制研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)核辐射环境下涡流检测机…...
ncmdumpGUI:解锁网易云音乐NCM格式的3步可视化解决方案
ncmdumpGUI:解锁网易云音乐NCM格式的3步可视化解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&…...
乒乓球教程
【课程教程资料】乒乓球入门必看,全方位发球技巧教学 文件大小: 3.9GB内容特色: 3.9GB高清发球拆解,握拍站位旋转全囊括适用人群: 零基础球友、校园社团、陪练家长核心价值: 20课时速成稳定发球,直接提升实战得分率下载链接: https://pan.qu…...
太顶了!输入主题,这几款AI论文软件自动生成毕业论文初稿!
毕业季论文焦虑?还在为选题、查资料、写大纲、润色修改熬夜到凌晨?别担心,现在只需输入主题,几款AI论文工具就能自动生成图文并茂的毕业论文初稿,从开题到定稿全流程搞定!千笔AI、ThouPen、豆包、DeepSeek、…...
OpenClaw(小龙虾AI)Windows一键部署包v2.7.5|零代码+可视化操作
适配系统:Windows10 64 位(纯小白友好版) 核心优势:免命令行、免环境配置、解压即装,内置所有运行依赖,全程可视化操作,新手也能一次成功部署 2026 爆火的开源 AI 智能体! 本文专属…...
福州儿童康复推荐
当我们谈论儿童康复时,其实是在谈论一个家庭面对未知时的所有期许与不安。每一个孩子的成长节奏都值得被尊重,尤其是那些在语言、社交或行为上稍显“慢热”的小天使。在福州,有这样一处地方,它不追求“速成”,也不承诺…...
Vue.js 版本全解析与 nvm 环境管理完全指南
前言:为什么需要了解这些?在前端开发的世界里,Vue.js 已经成为最受欢迎的框架之一。但在实际工作中,我们常常会面临两个问题:项目 A 需要用 Vue 2(为了兼容 IE11),项目 B 想用 Vue 3…...
Apache APISIX Dashboard:现代化API网关管理的架构演进与实践方案
Apache APISIX Dashboard:现代化API网关管理的架构演进与实践方案 【免费下载链接】apisix-dashboard Dashboard for Apache APISIX 项目地址: https://gitcode.com/gh_mirrors/ap/apisix-dashboard 在微服务架构日益普及的今天,API网关已成为连接…...
三分钟完成Taotoken的API Key配置与curl调用测试
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 三分钟完成Taotoken的API Key配置与curl调用测试 基础教程类,面向刚注册Taotoken并获取了API Key的开发者,…...
如何用TranslucentTB实现Windows任务栏透明化:3分钟完成桌面美化终极指南
如何用TranslucentTB实现Windows任务栏透明化:3分钟完成桌面美化终极指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是…...
