如何去除 css animation 的渐变过程

需求

在react或者vue这种单页面应用的项目里,我们使用定时器来实现动画时需要做销毁定时器操作,但是有时候是个很小的动画效果,也要做销毁,这个挺麻烦的。那我们为什么不用css动画代替呢?

做法

@keyframes 的属性是0%到100%,假如我们写的是0%-100%,那绝对会有渐变效果

@keyframes twinkling{ 
  0%{ 
    opacity: 0; 
  } 
  100%{ 
    opacity: 1; 
  } 
}

那所以我们换一个写法,0%-50%的时间显示,51%-100%的时间隐藏,不就没有过渡效果了嘛。

// 一闪一闪动画
.twinkle{ 
  animation: twinkling 0.5s infinite linear; 
} 
.animated{ 
  animation-duration: 0.5s; 
} 

@keyframes twinkling{ 
  0%, 50%{ 
    opacity: 0; 
  } 
  51%, 100%{ 
    opacity: 1; 
  } 
}

结论

那所以聪明的你一定也发现了,@keyframes 的百分比值的实质就是一个时间进度条。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值