要用css animation-function的steps实现一个类似小人跑动的逐帧显示的动画,但是应用到小程序上,出现了每次移动距离偏大的问题,即不能移动到下一张图的准确的位置,有偏差,下一张图的中心不在图片显示区域的中心,越到后面越偏。后来我用同一张图片复制多次的一张雪碧图去实现,按道理讲应当静止不动,但实际上就是每次都往下移动了多一点点,所以越往后越明显。
用一张图来说明
.loading { width : 143 rpx; height : 128 rpx; background-image : url (xxx.png ); background- size : cover; animation: ani 7 s steps( 7 , end) infinite both ; } @keyframes ni { from { background-position : 0 0 ; } to { /*128*7=896*/ background-position : 0 -896 rpx; } } |
别用rpx,用px试试
确实是换算算错的问题,要另外动态计算真正的rpx,最后决定直接用px了,谢谢解答!