css3 animation steps来…

本文介绍了如何利用CSS3的animation和steps过渡方式,结合PNG图片,实现类似GIF动图的效果,包括播放状态控制和Alpha通道支持。尽管兼容性仍有待提高,但这为正式项目提供了可能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSS3 animation的steps方式过渡

  animation默认以ease方式过渡,它会在每个关键帧之间插入补间动画,所以动画效果是连贯性的。除了ease,linear、cubic-bezier之类的过渡函数都会为其插入补间。但有些效果不需要补间,只需要关键帧之间的跳跃,这时应该使用steps过渡方式。
  比如GIF动图不支持程序对播放的控制,也不支持Alpha通道。但如果我们用一个PNG图片,把所有帧都放在一起,通过CSS3的animation控制background-position来播放就可以做到这些。

@-webkit-keyframes  test  {
    0%  {background-position:0px  -0%;}
    100%  {background-position:0px  -400%;}
}
@keyframes  test  {
    0%  {background-position:0px  -0%;}
    100%  {background-position:0px  -400%;}
}
div  {
    height:35px;width:32px;
    -webkit-animation:test  400ms  steps(4)  infinite;
    animation:test  400ms  steps(4)  infinite;
    background:url( http://www.web-tinker.com/share/兔斯基揉脸.png);
}

steps(4)表示让整个动画在4个关键帧之间切换。这个兔斯基揉脸的图片中包含了4帧,所以这里设置了4。而且我们的动画时长是400ms,也就是说每一帧停留100ms,这就和普通的GIF动图达到了一样的效果。而且animation可以控制播放状态,PNG可以提供Alpha通道。不过animation这东西的兼容性目前还不咋样,能否用于正式项目还有待考证。

来源:http://www.web-tinker.com/article/20679.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值