animation与transition的区别

1.animation

animation(动画) 属性
深入理解animation

属性描述可选值
animation-name规定 @keyframes 动画的名称。
animation-duration规定动画完成一个周期所花费的时间。默认是 0。
animation-timing-function规定动画的速度曲线。默认是 “ease”。liner :匀速
ease :动画以低速开始,然后加快,在结束前变慢。
ease-in:动画以低速开始。
ease-out:动画以低速结束。
ease-in-out: 动画以低速开始和结束。
cubic-bezier:三次贝塞尔曲线
steps(int,start/end) 指定了时间函数中的间隔数量(步长)。有两个参数,第一个参数指定函数的间隔数,该参数是一个正整数(大于 0)。 第二个参数是可选的,表示动画是从时间段的开头连续还是末尾连续。含义分别如下:start:表示直接开始。end:默认值,表示戛然而止。
animation-delay规定动画何时开始。默认是 0。可以是负数,运用了负数之后,动画可以提前进行
animation-iteration-count规定动画被播放的次数。默认是1。1,infinite
animation-direction规定动画是否在下一周期逆向地播放。默认是 “normal”,还有"alternate"逆播放。normal ,alternate
animation-fill-mode规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。 默认值为noneforwards :会保留动画结束时的状态,在有延迟的情况下,并不会立刻进行到动画的初始状态
backwards :不会保留动画结束时的状态,在添加了动画延迟的前提下,如果动画有初始状态,那么会立刻进行到初始状态
both :会保留动画的结束时状态,在有延迟的情况下也会立刻进入到动画的初始状态
animation-play-state规定动画是否正在运行或暂停。默认是 “running”running,paused
/*简写*/
animation: name duration timing-function delay iteration-count direction fill-mode play-state;

animation: light 2s linear 0s infinite alternate both;
@keyframes light{
   0% {
      opacity: 0;
   }
   50% {
      opacity: 0.6;
   }
   100% {
      opacity: 1;
   }
}

2.transition

vue的过渡效果
过渡属性 过渡所需要时间 过渡动画函数 过渡延迟时间;默认值分别为:all 0 ease 0

过渡动画函数
liner :匀速
ease-in:减速
ease-out:加速
ease-in-out:先加速再减速
cubic-bezier:三次贝塞尔曲线

举例

div{
	width:100px;
	height:100px;
	background:red;
	transition:width 2s;
	-webkit-transition:width 2s; /* Safari */
}

div:hover{
	width:300px;
}

总结

1.animation需配合@keyframes,而transition不需要;
2.animation可以触发多次,transition只能触发一次;
3.animation可以设置多个帧,而transition只有两帧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值