css制作动画(动效的序列帧图)

文章介绍了如何使用CSS3的animation属性中的steps()函数来创建逐帧动画,通过将动画分解为多个阶段并设定步骤数,可以实现类似GIF的效果。示例代码演示了如何利用background-position和steps()配合,实现一张大图中多帧切换的动画效果。

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

相信 animation 大家都用过很多,知道是 CSS3做动画用的。而我自己就只会在 X/Y轴 上做位移旋转,使用 animation-timing-function 规定动画的速度曲线,常用到的 贝塞尔曲线。但是这些动画效果都是连续性的。

今天发现个新功能 animation-timing-function 的另外个属性值 steps()功能符,可以让动画不连续,就是制作逐帧动画。

steps(n,start/end)

第一个参数 number 为把动画分为 n 步阶段性展示,表示把我们的动画分成了多少段;

第二个参数默认为 end,设置最后一步的状态,start 为结束时的状态,end 为开始时的状态。

第二个参数具体说就是,emmmm.....................我寄几也没详细看(没理解),附上传送门你们看下张鑫旭大神的讲解  CSS3 animation属性中的steps功能符深入介绍

这里只需要第一个参数就好了

10a747a015b54d6a13e53b672e629275.png

这张素材宽高:2128*241、总共为8帧,故 steps(8)

CSS3 animation属性中的steps实现GIF动图(逐帧动画)

.main {

margin: 100px auto;

width: 266px;

height: 241px;

background: url(./people.jpg);

background-size: 2128px;

animation: sprite 1s steps(8) infinite

}

@keyframes sprite {

0% {

background-position: 0 0

}

100% {

background-position: 100% 0;

}

}

ok,大功告成,效果预览,当然这张GIF来的

css3 animation 属性众妙

animation中的steps()逐帧动画

在我们平时做宽高确定,需要背景图片切换的效果时,我如果用的是一张大的png图片.而且恰好是所有小图都是从左向右排列的,那么 我们只需测量出某一个小图距左侧有多少像素(x),然后我们banckgroun ...

css3 animation实现逐帧动画

css3里面的animation属性非常强大,但是自己用的比较少,最近有次面试就刚好被问到了,趁现在有时间就对animation做一个小总结.同时实现一个逐帧动画的demo作为练习 animation ...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值