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提供了更多的动画控制选项,如动画的播放状态、速度曲线等。
相关推荐
学传打活10 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活15 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng16823 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心25 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055271 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055271 个月前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝1 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 个月前
Java图像处理实战指南
人工智能·1024程序员节
u0103055271 个月前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节