讲师中心 微信公众号
AI工具推荐 视频效率加速

在CSS3中如何使用step-end函数制作像素画风格的逐帧动画?

陌枫同学_4769

陌枫同学_4769

发布时间:2026-06-26 15:27:26

|

435人浏览过

|

来源于php中文网

原创

step-end 是 animation-timing-function 的关键字值,等价于 steps(1, end),用于实现无过渡的离散帧切换;它通过在每帧结束时才跳变 background-position 等属性,精准模拟像素动画的“卡顿感”,需配合雪碧图与严格对齐的关键帧使用。

在css3中如何使用step-end函数制作像素画风格的逐帧动画?

step-end 是什么,它和像素动画有什么关系?

step-end 不是函数,而是 animation-timing-function 的一个关键字值,用于让动画在每帧结束时才跳变——这恰好模拟了像素画逐帧动画的“卡顿感”:没有过渡,只有离散状态切换。它和 steps(1, end) 等价,但直接写 step-end 更简洁、语义更明确。

常见错误是把它当 CSS 函数用,比如写成 step-end() 或试图传参,结果样式完全不生效。它只接受在 animation-timing-function 中作为值使用,不能独立调用。

适用场景很具体:当你有一组固定尺寸的精灵图(sprite sheet),或一组预定义的 class 切换状态(比如 8x8 像素角色帧),且希望每一帧停留完整时长、无插值过渡时,step-end 就是唯一自然的选择。

怎么用 step-end 实现 sprite sheet 逐帧动画?

核心是两步:把多帧拼成一张图 + 用 background-position 按帧偏移 + 用 step-end 控制跳变时机。

立即学习“前端免费学习笔记(深入)”;

@keyframes walk {
  0%   { background-position: 0 0; }
  25%  { background-position: -32px 0; }
  50%  { background-position: -64px 0; }
  75%  { background-position: -96px 0; }
  100% { background-position: -128px 0; }
}
<p>.pixel-sprite {
width: 32px;
height: 32px;
background-image: url('walk-sprite.png');
animation: walk 0.5s step-end infinite;
}</p>

注意三点:

CSS婚礼策划服务机构宣传网站模板
CSS婚礼策划服务机构宣传网站模板

CSS婚礼策划服务机构宣传网站模板是一款适合提供婚礼策划和婚庆服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载
  • steps(4, end) 和 step-end 效果一致,但 step-end 隐含 steps(1, end),所以必须靠 keyframes 显式定义 4 个关键帧,否则只会跳一帧
  • 帧数必须严格对应 keyframes 百分比分割点;少写一帧,最后一帧就永远卡住
  • background-position 偏移量必须是整像素,且与 sprite 图中帧宽高严格对齐,否则会出现模糊或错位

为什么不用 JavaScript 手动切换 class?

手动切 class(比如用 setTimeout 切 .frame-0 → .frame-1)看似可控,但实际问题不少:

  • 时间精度差,尤其在低帧率设备上容易丢帧
  • 无法和 CSS 动画属性(如 transform、opacity)联动
  • 每帧都要 DOM 操作,性能不如纯 CSS 渲染
  • 很难做到 100% 同步播放多个像素动画元素

而 step-end 动画由浏览器合成器驱动,只要帧率稳定(通常 60fps),就能保证每帧精确停驻指定毫秒数,且天然支持 animation-play-state 暂停/恢复。

兼容性和常见失效原因

step-end 在所有现代浏览器(Chrome 43+、Firefox 28+、Safari 10+、Edge 12+)都支持,但 IE 完全不识别,会退化为 ease——动画变成滑动,像素感彻底消失。

最容易被忽略的是:动画时长必须能被帧数整除。比如 4 帧动画写 animation-duration: 0.33s,0.33 ÷ 4 = 0.0825s,浏览器内部计时可能产生累积误差,导致某帧多显示一帧或少一帧。稳妥做法是用整数毫秒,如 0.32s(每帧 80ms)或 0.4s(每帧 100ms)。

另外,如果父容器用了 transform: scale(2) 之类缩放,又没加 image-rendering: pixelated,像素边缘会被抗锯齿模糊——这不是 step-end 的问题,但常被误认为动画“不硬”。

像素动画的“硬”感,一半靠 step-end,另一半靠渲染设置和图像源精度。漏掉任何一环,都只是看起来像,而不是真的像素味。

热门AI工具

更多
UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

相关专题

更多
css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

4516

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

997

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1858

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

3526

2023.08.01

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

7085

2023.08.10

什么是css
什么是css

CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用于描述网页(或其他基于 XML 的文档)样式与布局的标记语言,CSS的作用和意义如下:1、分离样式和内容;2、页面加载速度优化;3、实现响应式设计;4、确保整个网站的风格和样式保持统一。

6011

2023.08.10

css三角形怎么写
css三角形怎么写

CSS可以通过多种方式实现三角形形状,本专题为大家提供css三角形怎么写的相关教程,大家可以免费体验。

2037

2023.08.21

css设置文字颜色
css设置文字颜色

CSS(层叠样式表)可以用于设置文字颜色,这样做有以下好处和优势:1、增加网页的可视化效果;2、突出显示某些重要的信息或关键字;3、增强品牌识别度;4、提高网页的可访问性;5、引起不同的情感共鸣。

2871

2023.08.22

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

20

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 16.5万人学习

HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 10.8万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 18.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn