CSS:过渡动画 (Transition)与关键帧动画(Keyfram)

一、过渡动画 (Transition)

1.简单介绍

Transition能为样式的变化提供过渡效果,例如在下面的代码中:

    .main {width: 300px;height: 100px;background-color: #d26f6f;}.main:hover {width: 300px;height: 200px;background-color: #5e3e3e;transition: all 1s;}

div会在鼠标移动到上面后逐渐从高100px变为高200px,而不会瞬间改变,更加丝滑。

2.使用方法

可以将所有属性写在一起,如:

transition: property duration timing-function delay;

也可以将属性分开写,如:

transition-property 指定CSS属性的name,比如说transform,也可以简单的all

transition-duration 动画效果的时间

transition-timing-function  指定transition效果的转速曲线

transition-delay  定义transition效果开始的时候

3.部分支持动画的属性

下面列举了一部分支持过度动画的CSS属性,更详细信息请查阅相关文档。 

opacity(透明度)

transform(变形,包括旋转、缩放、移动和倾斜等)

color(颜色)

background-color(背景颜色)

width 和 height(尺寸大小)

margin、padding、border-width(边距、内填充和边框宽度)

top, right, bottom, left(定位属性,当元素是相对定位、绝对定位或固定定位时)

font-size(字体大小)

outline-color、outline-width(轮廓颜色和宽度)

box-shadow(阴影效果)

background-position(背景图像位置)

border-radius(边框半径)

filter(滤镜效果,如模糊、灰度等)

clip-path(裁剪)

二、关键帧动画(Keyfram)

1.简单介绍

关键帧动画能够设置多个不同时间的不同样式来实现比过渡动画更为复杂的动画。例如在下面的代码中:

   .main {width: 300px;height: 100px;background-color: #67efd4;font-size: 16px;}.main:hover {animation: 2s infinite changeDiv;}@keyframes changeDiv {0% {width: 300px;height: 100px;background-color: #67efd4;}20% {width: 30px;height: 20px;background-color: #5ad344;}80% {width: 300px;height: 200px;background-color: #b0396f;}100% {width: 30px;height: 200px;background-color: #acd2a5;}}

Div会在2s内的不同阶段变成不同点状态,并具有过渡效果。

定义关键帧动画除了百分比,也可以使用from/to

   @keyframes changeDiv {from {width: 300px;height: 100px;background-color: #67efd4;}to {width: 30px;height: 200px;background-color: #acd2a5;}}

2.使用方法

可以将所有属性写在一起,如:

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

也可以将属性分开写,如:

animation-name  @keyframes 动画的名称

animation-duration  动画完成一个周期所花费时间,

animation-timing-function 动画的速度曲线

animation-fill-mode 动画不播放时的样式。  

animation-delay 规定动画何时开始。

animation-iteration-count 规定动画被播放的次数。

animation-direction 规定动画是否在下一周期逆向地播放。

animation-play-state  规定动画是否正在运行或暂停。

3.关键帧属性的值

属性名称意义
animation-name@keyframes 动画的名称自定义一个名字
animation-duration动画完成一个周期所花费时间一个时间,例如5s,500ms,默认0
animation-timing-function动画的速度曲线

ease(默认):慢-快-最后慢

ease-in:加速

ease-out::减速

ease-in-out:慢-快-慢

自定义贝塞尔曲线 :例如ubic-bezier(0.8, 0, 0.2, 1)

animation-fill-mode动画不播放时的样式

none (默认): 动画结束后,元素会恢复到动画开始前的状态

forwards: 动画结束后,元素将保持在动画最后一个关键帧所设置的状态。

backwards: 如果动画是在元素显示后立即开始,则会在动画开始前应用第一个关键帧的样式。

both: 结合了 forwards 和 backwards 的效果。元素将在动画开始前应用首个关键帧的样式,并在动画结束后保持在最后一个关键帧的样式。

animation-delay规定动画何时开始一个时间
animation-iteration-count规定动画被播放的次数

整数值(默认1),表示动画播放的具体次数。

 infinite,表示动画应该无限重复播放。

animation-direction规定动画是否在下一周期逆向地播放

normal:动画按正常顺序播放

reverse:动画反向播放

alternate:动画在奇数次正常播放,在偶数次反向播放

alternate-reverse:动画在奇数次反向播放,在偶数次正常播放

animation-play-state规定动画是否正在运行或暂停

running:动画正常播放

paused:动画暂停

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/541207.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于如何重燃学习的激情

3月1日是我回学校的第一天。经历了长达8个月在家的昏暗时刻,我这10天的感觉和在家的感觉发生了翻天覆地的变化,最明显的莫过于学习状态的改变。 倒不是说在家学的不好,而是说在学校,我对学习的整体感觉,以及专注程度&…

警惕Memcached协议滥用!网络攻击愈演愈烈,如何做好服务器防御?

近期,网络安全领域迎来了一场新的挑战。Memcached协议,这个原本用于提升数据库读取性能的开源内存缓存系统,近期被恶意攻击者所滥用,进行大规模分布式拒绝服务(DDoS)放大攻击。全球多家公司服务器受到波及&…

2024年腾讯云优惠券领取入口整理汇总

腾讯云作为国内领先的云服务提供商,一直以其稳定、高效、安全的服务赢得了广大用户的信赖。为了回馈广大用户,腾讯云经常会推出各种优惠活动,其中优惠券就是最为常见和受欢迎的一种。 一、腾讯云优惠券领取入口 渠道一:腾讯云官网…

【云呐】固定资产管理系统处理哪些业务

固定资产管理是企业经营全过程中非常重要的任务。涉及到公司的核心资产,包括土地、建筑、设备、车辆等。许多企业选择固定资产管理系统,以确保这些资产的高效管理和合理使用。所以,固定资产管理系统解决了哪些业务?步骤是什么&…

资深老鸟,自动化测试分层模型与落地总结,“我“该如何提升?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、自动化测试的分…

可视化场景(4):财务场景,公司经营的晴雨表。

在财务场景中,可视化大屏具有以下8个应用价值: 销售和收入分析 可视化大屏可以展示销售额、收入来源、销售渠道等数据,帮助财务团队分析销售趋势和收入结构,发现潜在的增长机会和问题。 成本和费用管理 可视化大屏可以显示成本…

超越文本:对话式人工智能如何理解上下文

智能对话助手,让沟通无障碍 在当今的数字时代,对话式人工智能已经成为我们日常互动中不可或缺的一部分,从客户服务机器人到 Siri 和 Google Assistant 等个人助理。 这些系统从简单的基于文本的响应到理解上下文的演变是人工智能的重大飞跃。…

onecloud刷CasaOS系统后如何安装内网穿透实现公网访问本地文件

文章目录 1. CasaOS系统介绍2. 内网穿透安装3. 创建远程连接公网地址4. 创建固定公网地址远程访问 2月底,玩客云APP正式停止运营,不再提供上传、云添加功能。3月初,有用户进行了测试,局域网内的各种服务还能继续使用,但…

BugKu刷题日记(web)一

文章目录 lfi题目页面恶意构造解题思路 Whois题目页面恶意构造解题思路 lfi 来源:https://ctf.bugku.com/challenges/detail/id/429.html 漏洞类型:文件包含漏洞 同类型BugKu:baby ifi、baby ifi 2 题目页面 恶意构造 http://example.com/…

解锁基于LLMS的咒语:通过上下文学习重新思考对齐

一、写作动机: 最近的一项研究,LIMA,表明仅使用1K个示例进行SFT也可以实现显著的对齐性能,这表明对齐微调的效果可能是“表面的”。(知识和推理能力来源于预训练,而不是必须通过对齐微调获得的。&#xff…

带大家做一个,易上手的家常炒紫甘蓝

这里 拿了半个紫甘蓝 半个就够炒一盘子 按 片 切成 片条 因为 你切开就会发现 里面很多地方会变成一条一条的 切小一点 因为紫甘蓝相对其他蔬菜 会硬一些 切大了 不好咬 然后过清水洗干净 两瓣蒜 切片 然后 起锅烧油 下入三个干辣椒 炒一小会儿 然后 下入 甘蓝翻炒 翻炒几…

uni-app微信小程序上拉加载,下拉刷新

pages.json配置官网链接 onPullDownRefresh、onReachBottom函数跟生命周期同级 data() {return {orderList:[],total: null, //总共多少条数据page: 1,pageSize: 10,} }, onLoad() {}, mounted(){this.getInfo() }, methods:{getInfo(){API.getListxxx().then(res > {const…