CSS中transition与animation的功能与不同

1.transition过渡

transition属性用于指定元素从一个状态到另一个状态时的过渡效果,在给定的时间内平滑而自然地改变属性值。

css 复制代码
transition: property duration timing-function delay;
  • property: 指定应用过渡效果的CSS属性名称。可以使用all来指定所有可动画的属性。
  • duration: 过渡效果的持续时间,例如 1s 或 500ms。
  • timing-function: 过渡效果的速度曲线,常用的是linear、ease、ease-in、ease-out 和 ease-in-out。
  • delay: 过渡效果开始前的延迟时间,例如 1s。
css 复制代码
button {
    background-color: aquamarine;
    transition: background-color 0.5s ease;    
}
button:hover {
    background-color:aqua;
}
/* 所有属性过渡 */
.all-properties {
    transition: all 0.5s ease 2s;
}

2.animation动画

animation允许通过关键帧来定义动画,可以实现更为复杂和连续的动画效果。

css 复制代码
animation: name duration timing-function delay iteration-count direction fill-mode play-state;
  • name:@keyframes 名称。
  • duration: 过渡效果的持续时间。
  • time-function: 动画的速度曲线。常用的是ease、linear、ease-in、ease-out、ease-in-out。
  • delay: 动画效果开始前的延迟时间,例如 1s。
  • iteration-count: 设置 infinite 动画将永远持续下去或设置自然数字。
  • direction: 指定向前播放、向后播放还是交替播放动画。常用的是normal、reverse、alternate、alternate-reverse。
  • fill-mode: 在不播放动画时的样式(在开始之前,结束之后,或两者都结束时),默认值是none。常用的是none、forwards、backwards、both。
  • play-state:规定动画是运行还是暂停。默认值是running。常用的是running、paused。
css 复制代码
/* 定义关键帧 */ 
@keyframes expand {
    0% { transform: scale(1); }
    100% { transform: scale(1.5); }
}

/* 应用动画 */
.animated-box {
    width: 300px;
    line-height: 30px;
    background-color: rgb(0, 255, 145);
    animation: expand 2s ease-in-out 1s infinite alternate;
}

3.不同之处

  • 目的:transition 主要用于处理元素状态的过渡,animation用于创建更为复杂和连续的动画效果。
  • 使用场景:transition适用于简单的显示/隐藏动画,animation适用于需要精确控制的复杂动画序列。
  • 控制程度:animation提供了更多的动画控制选项,如动画的播放状态、速度曲线等。
相关推荐
开开心心就好5 天前
内存清理软件灵活设置,自动阈值快捷键清
运维·服务器·windows·pdf·harmonyos·risc-v·1024程序员节
学传打活7 天前
【边打字.边学昆仑正义文化】_5_宇宙物种创造简史(1)
微信公众平台·1024程序员节·汉字·昆伦正义文化
xcLeigh8 天前
打破机房围墙:VMware+cpolar构建跨网络虚拟实验室
vmware·内网穿透·cpolar·实验室·远程访问·1024程序员节
开开心心就好9 天前
免费轻量电子书阅读器,多系统记笔记听书
linux·运维·服务器·安全·ddos·可信计算技术·1024程序员节
unable code10 天前
流量包取证-大流量分析
网络安全·ctf·misc·1024程序员节·流量包取证
开开心心就好10 天前
实用PDF擦除隐藏信息工具,空白处理需留意
运维·服务器·windows·pdf·迭代器模式·桥接模式·1024程序员节
unable code11 天前
浏览器取证-[GKCTF 2021]FireFox Forensics
网络安全·ctf·misc·1024程序员节·浏览器取证
unable code12 天前
内存取证-[安洵杯 2019]Attack
网络安全·ctf·misc·1024程序员节·内存取证
unable code12 天前
CTF-SPCS-Forensics
网络安全·ctf·misc·1024程序员节·取证