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

【Vue】CSS3实现关键帧动画

关键帧动画

    • 两个重点
      • @keyframes
      • animation
        • 子属性
    • 实现案例
      • 效果展示:

两个重点

@keyframesanimation
作用:通过定义关键帧(@keyframes)和动画(animation)规则,实现复杂的关键帧动画。

@keyframes

定义动画的关键帧序列,指定动画在不同时间点的样式状态。

@keyframe 动画名{0%{/*关键帧起始状态*/}50%{/*中间状态*/}100%{/*结束状态*/}
}

或者用from{}代替0%{},to{}代替100%{}

animation

用于将 @keyframes 动画应用到元素,并控制动画的播放行为。

子属性
属性作用示例值
animation-name指定 @keyframes 名称fadeIn
animation-duration动画持续时间2s
animation-timing-function速度曲线ease, linear, cubic-bezier()
animation-delay延迟开始时间1s
animation-iteration-count播放次数3, infinite
animation-direction播放方向normal, reverse, alternate
animation-fill-mode动画结束后的样式forwards, backwards
animation-play-state暂停/播放paused, running

速度曲线

  • ease(默认值):动画以慢速开始,然后加速,最后再减速。
  • linear:线性匀速播放动画
  • cubic-bezier(n,n,n,n):自定义贝塞尔曲线,允许更精确地控制动画速度。

播放次数

  • n:数值(默认是1)
  • infinite:无限循环播放

动画结束后的样式

  • none: 默认值,元素保持原始状态
  • forwards:元素保留动画最后一帧的样式
  • backwards:元素将应用动画第一帧样式

简写:animation: name duration timing-function delay iteration-count direction fill-mode;

实现案例

结构:

<template><div class="card-container"><div class="card"><div class="front"><img src="../assets/Karry.gif" width="300px" /></div><div class="back"><p>点赞</p><p>关注</p><p>评论</p><p>收藏</p></div></div></div>
</template>

样式:

<style lang="less">
.card-container {/*将最外层父盒子设为弹性布局,元素居中*/display: flex;justify-content: center;align-content: center;/*高度为视口大小的100%*/height: 100vh;/*背景渐变色*/background-image: linear-gradient(200deg, #5ee7df, #b490ca);/*该属性可让动画立体感,可以调值看看效果对比*/perspective: 1000px;.card {/*相对定位*/position: relative;width: 300px;height: 450px;margin-top: 60px;border-radius: 30px;/*鼠标停留在上面变为小手*/cursor: pointer;background-color: #fff;box-shadow: 1px 1px 20px rgb(0, 0, 0, 0.1);/*给父元素添加一个3D盒子属性,那么子元素就到背面了,这个属性是加到父元素上的,但是影响的是子元素*/transform-style: preserve-3d;/* 给卡片添加默认动画 */animation: rotate-reverse 1.2s cubic-bezier(0.66, -0.47, 0.33, 1.5) forwards;.front,.back {position: absolute;top: 0;left: 0;width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;font-size: 20px;background-color: #fff;border-radius: 30px;/*控制元素背面在旋转后是否可见*/backface-visibility: hidden;}.back {transform: rotateY(180deg);/* 添加字体颜色过渡动画 */transition: color 0.3s;p:hover {color: #1890ff;/* 悬停时颜色(蓝色) */cursor: pointer;/* 鼠标指针变为手型 */}}}.card:hover {animation: rotate 1.2s cubic-bezier(0.66, -0.47, 0.33, 1.5) forwards;}
}@keyframes rotate {0% {transform: rotateY(0deg);}100% {transform: rotateY(180deg);}
}@keyframes rotate-reverse {0% {transform: rotateY(180deg);}100% {transform: rotateY(0deg);}
}
</style>

效果展示:

初次会旋转一次,当鼠标悬停在卡片上,就会旋转到背面,鼠标移除则旋转回来。
在这里插入图片描述

关键帧动画效果

相关文章:

【Vue】CSS3实现关键帧动画

关键帧动画 两个重点keyframesanimation子属性 实现案例效果展示&#xff1a; 两个重点 keyframes 和 animation 作用&#xff1a;通过定义关键帧&#xff08;keyframes&#xff09;和动画(animation)规则&#xff0c;实现复杂的关键帧动画。 keyframes 定义动画的关键帧序列…...

AD 多层线路及装配图PDF的输出

装配图的输出&#xff1a; 1.点开‘智能PDF’ 2. 设置显示顶层&#xff1a; 设置显示底层&#xff1a; 多层线路的输出 同样使用‘智能PDF’...

MultiTTS 1.7.6 | 最强离线语音引擎,提供多音色无障碍朗读功能,附带语音包

MultiTTS是一款免费且支持离线使用的文本转语音&#xff08;TTS&#xff09;工具&#xff0c;旨在为用户提供丰富的语音包选项&#xff0c;实现多音色无障碍朗读功能。这款应用程序特别适合用于阅读软件中的离线听书体验&#xff0c;提供了多样化的语音选择&#xff0c;使得听书…...

基于自校准分数的扩散模型在并行磁共振成像中联合进行线圈灵敏度校正和运动校正|文献速递-深度学习医疗AI最新文献

Title 题目 Joint coil sensitivity and motion correction in parallel MRI with aself-calibrating score-based diffusion model 基于自校准分数的扩散模型在并行磁共振成像中联合进行线圈灵敏度校正和运动校正 01 文献速递介绍 磁共振成像&#xff08;MRI&#xff09;…...

OCR发票识别API实现

OCR发票识别API实现 1. 阿里云OCR发票识别2. Tesseract OCR3. 利用java调用大模型进行识别4. 飞桨PaddleOCR 1. 阿里云OCR发票识别 阿里云OCR发票识别 示例&#xff1a; 接口&#xff1a;https://dgfp.market.alicloudapi.com/ocrservice/invoice 参数&#xff1a;{"img&…...

实战案例:采集 51job 企业招聘信息

本文将带你从零开始&#xff0c;借助 Feapder 快速搭建一个企业级招聘信息数据管道。在“基础概念”部分&#xff0c;我们先了解什么是数据管道和 Feapder&#xff1b;“生动比喻”用日常场景帮助你快速理解爬虫组件&#xff1b;“技术场景”介绍本项目中如何使用代理等采集策略…...

从AlphaGo到ChatGPT:AI技术如何一步步改变世界?

从AlphaGo到ChatGPT&#xff1a;AI技术如何一步步改变世界&#xff1f; 这里给大家分享一个人工智能学习网站。点击跳转到网站。 https://www.captainbed.cn/ccc 前言 在科技发展的历史长河中&#xff0c;人工智能&#xff08;AI&#xff09;技术无疑是最为璀璨的明珠之一。从…...

推荐6大wordpress模板资源网站

1. 模板之家 模板之家是一个提供丰富网站模板资源的平台。它涵盖了多种类型的模板&#xff0c;包括企业官网、个人博客、电商网站等&#xff0c;能够满足不同用户对于网站搭建的需求。其模板设计精美&#xff0c;功能多样&#xff0c;且注重用户体验&#xff0c;方便用户快速搭…...

AI 编程革命:腾讯云 CodeBuddy 如何重塑开发效率?

引言 在传统开发流程中&#xff0c;开发者常需依赖 SDK 文档或反复调试来获取云资源信息。而随着 AI 技术爆发式发展&#xff0c;腾讯云推出的 CodeBuddy 正以对话式编程颠覆这一模式 —— 只需自然语言描述需求&#xff0c;即可直接生成可执行代码。作为腾讯混元大模型与 Dee…...

星海智算云平台部署GPT-SoVITS模型教程

背景 随着 GPT-SoVITS 在 AI 语音合成领域的广泛应用&#xff0c;越来越多的个人和团队开始关注这项前沿技术。你是否也在思考&#xff0c;如何快速、高效地部署并体验这款强大的声音克隆模型&#xff1f;遗憾的是&#xff0c;许多本地部署方案不仅配置复杂&#xff0c;而且对…...

15:00开始面试,15:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到4月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…...

python 的 ​uv、pip​ 和 ​conda​ 对比和技术选型

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…...

20250515通过以太网让VLC拉取视熙科技的机芯的rtsp视频流的步骤

20250515通过以太网让VLC拉取视熙科技的机芯的rtsp视频流的步骤 2025/5/15 20:26 缘起&#xff1a;荣品的PRO-RK3566适配视熙科技 的4800W的机芯。 1080p出图预览的时候没图了。 通过105的机芯出图确认 荣品的PRO-RK3566 的硬件正常。 然后要确认 视熙科技 的4800W的机芯是否出…...

GPU异步执行漏洞攻防实战:从CUDA Stream竞争到安全编程规范

点击 “AladdinEdu&#xff0c;同学们用得起的【H卡】算力平台”&#xff0c;H卡级别算力&#xff0c;按量计费&#xff0c;灵活弹性&#xff0c;顶级配置&#xff0c;学生专属优惠。 引言 在高校实验室的GPU加速计算研究中&#xff0c;多卡并行编程已成为提升深度学习训练效…...

UE5.3 C++ 房屋管理系统(二)

三.当房屋生成成功&#xff0c;我们就需要把TMap里的数据存到数据库里。不然一点停止运行&#xff0c;就会所以数据都不见了。这里使用DataTable来存储。 1.DataTable是UE常用的表&#xff0c;虽然不是专门用来存档的&#xff0c;但也可以这么用。 DataTable表&#xff0c;实…...

VSCode1.101.0便携版|中英文|编辑器|安装教程

软件介绍 Visual Studio Code是微软推出的一个强大的代码编辑器&#xff0c;功能强大&#xff0c;操作简单便捷&#xff0c;还有着良好的用户界面&#xff0c;设计得很人性化&#xff0c;旨在为所有开发者提供一款专注于代码本身的免费的编辑器。 软件安装 1、 下载安装包…...

Linux系统发布.net core程序

前端 前端用的Vue3&#xff0c;发布的话需要Nginx下载安装Nginx 麒麟&#xff1a;这里我麒麟用的是桌面版&#xff0c;我直接把操作流程写在下面&#xff0c;写的比较简单&#xff0c;具体的可以具体搜这一块内容学习一下。打包vue程序&#xff0c;通过MobaXterm将打包后的程序…...

当需要在一个方法中清除多个缓存时,@CacheEvict注解能否实现这个需求

想清除Redis中的多个缓存数据&#xff0c;如何实现&#xff1f; CacheEvict清除一个缓存&#xff0c;但现在想知道如何处理多个缓存的情况。场景&#xff1a;可能有一个更新用户信息的方法&#xff0c;这个方法执行后&#xff0c;不仅需要清除某个特定的用户缓存&#xff0c;还…...

极新携手火山引擎,共探AI时代生态共建的破局点与增长引擎

在生成式AI与行业大模型的双重驱动下&#xff0c;人工智能正以前所未有的速度重构互联网产业生态。从内容创作、用户交互到商业决策&#xff0c;AI技术渗透至产品研发、运营的全链条&#xff0c;推动效率跃升与创新模式变革。然而&#xff0c;面对AI技术迭代的爆发期&#xff0…...

Score-CAM:卷积神经网络的评分加权视觉解释

摘要 最近,越来越多的关注被引向卷积神经网络的内部机制,以及网络为何会做出特定决策。本文中,我们开发了一种基于类别激活映射的新颖事后可视化解释方法,称为Score-CAM。与以往基于类别激活映射的方法不同,Score-CAM通过前向传递得分获取每个激活图的权重,从而摆脱了对…...

Python刷题练习

文章目录 1.寻找相同字串2.密钥格式化3.五键键盘的输出4.单词重量5.输出指定字母在字符串的中的索引6.污染水域7.九宫格按键输入8.任务最优调度9.高效的任务规划 1.寻找相同字串 题目描述: 给你两个字符串t和p&#xff0c;要求从t中找到一个和p相同的连续子串&#xff0c;并输…...

对比 HTTP-REST 与 gRPC:各自的优缺点以及适用的场景

文章目录 对比 HTTP-REST 与 gRPC&#xff1a;各自的优缺点以及适用的场景HTTP-REST 与 gRPC 的核心区别gRPC 的优缺点HTTP-REST 的优缺点适用场景 模糊点什么是 Protobuf&#xff1f;HTTP/2 会将 HTTP 消息拆分并封装为二进制帧&#xff0c;那还能过使用 HTTP/2 构建 RESTful …...

Git - 1( 14000 字详解 )

一&#xff1a; Git 初识 1.1 提出问题 在工作或学习中&#xff0c;我们常常会面临文档管理的问题&#xff0c;尤其是在编写各种文档时。为了防止文档丢失或因更改失误而无法恢复&#xff0c;我们常常会创建多个版本的副本&#xff0c;例如&#xff1a;“报告-v1”、“报告-v…...

TCPIP详解 卷1协议 九 广播和本地组播(IGMP 和 MLD)

9.1——广播和本地组播&#xff08;IGMP 和 MLD&#xff09; IPv4可以使用4种IP地址&#xff1a;单播&#xff08;unicast&#xff09;、任播&#xff08;anycast&#xff09;、组播&#xff08;multicast&#xff09;和广播&#xff08;broadcast&#xff09;。 IPv6可以使用…...

16.1 - VDMA视频转发实验之TPG

文章目录 1 实验任务2 系统框图3 硬件设计3.1 IP核配置3.2 注意事项 4 软件设计4.1 注意事项4.2 工程源码4.2.1 main.c文件 1 实验任务 基于14.1&#xff0c;使用Xilinx TPG&#xff08;Test Pattern Generator&#xff09; IP提供视频源&#xff0c;将视频数据通过VDMA写入PS…...

cocos creator 3.8 下的 2D 改动

在B站找到的系统性cocos视频教程,纯2D开发入门,链接如下: zzehz黑马程序员6天实战游戏开发微信小程序&#xff08;Cocos2d的升级版 CocosCreator JavaScript&#xff09;_哔哩哔哩_bilibili黑马程序员6天实战游戏开发微信小程序&#xff08;Cocos2d的升级版 CocosCreator Ja…...

Vue3 + Element Plus 动态表单实现

完整代码 <template><div class"dynamic-form-container"><el-formref"dynamicFormRef":model"formData":rules"formRules"label-width"auto"label-position"top"v-loading"loading"&g…...

【WPF】Opacity 属性的使用

在WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;Opacity 属性是定义一个元素透明度的属性&#xff0c;其值范围是从 0.0&#xff08;完全透明&#xff09;到 1.0&#xff08;完全不透明&#xff09;。由于 Opacity 是在 UIElement 类中定义的&…...

Unity光照笔记

问题 在做项目中遇到了播放中切换场景后地面阴影是纯黑的问题&#xff0c;不得不研究一下光照。先放出官方文档。 Lighting 窗口 - Unity 手册 播放中切换场景后地面阴影是纯黑 只有投到地面的阴影是纯黑的。且跳转到使用相同Terrain的场景没有问题。 相关文章&#xff1a…...

Linux中安装samba服务

在Linux服务器上安装Samba可以实现文件共享功能&#xff0c;下面为你详细介绍安装步骤&#xff1a; 一、安装Samba 不同的Linux发行版使用不同的命令来安装Samba&#xff1a; Debian/Ubuntu&#xff1a; sudo apt update sudo apt install sambaCentOS/RHEL&#xff1a; s…...