css帧动画的background position变化实际有偏差
要用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;[代码][代码] [代码][代码]}[代码][代码]}[代码]