You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制控制CSS精灵动画的步骤播放顺序?

解决方案:自定义CSS精灵图动画播放顺序

修改后的完整代码

#image {
  height: 32px;
  width: 32px;  
  background: url('./media/man.png') 32px 0px;
  animation: autoRotate 1s steps(4) infinite;
  transform: scale(5);
  image-rendering: pixelated;
}

@keyframes autoRotate {    
  0%, 25% {
    background-position: 32px 0px; /* 第一步:左 */
  }
  25.01%, 50% {
    background-position: 32px 64px; /* 第二步:前 */
  }
  50.01%, 75% {
    background-position: 32px 96px; /* 第三步:右 */
  }
  75.01%, 100% {
    background-position: 32px 32px; /* 第四步:背 */
  }
}

原理说明

原动画仅通过0%和100%关键帧定义起止位置,steps(4)会按线性递增的方式自动划分4个阶段,导致播放顺序固定。要自定义顺序,需明确划分每个阶段的关键帧区间:

  • 把100%的动画时长平均分成4段,每段对应25%的区间
  • 为每个区间指定你需要的background-position,确保每个阶段内保持固定的精灵图位置
  • 使用25.01%这类细微偏移的百分比,避免相邻关键帧在同一位置可能触发的状态闪烁问题

这样steps(4)就会按照你定义的区间顺序,依次切换每个阶段的精灵图显示,最终实现自定义的播放序列。

内容的提问来源于stack exchange,提问作者ferter3006

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:18:22