逐帧动画steps函数用法
1. steps基本用法
animation-timing-function: steps(number, [end | start])
steps(number, [end | start]) 是将动画分为number段,共有number + 1帧画面。
注意,steps(n)函数中的n,并不是keyframe的个数,而是keyframe个数减1,keyframe相当于状态点,n相当于中间态的个数
start就是抛弃第一帧画面执行动画,end就是抛弃最后一帧画面执行动画。
steps的number参数并不是将整个动画过程切割成number段,而是对于某个css样式来说,每一段关键帧的变化切割成number段。
即使将几个关键帧的css变化设置的具有规律性,但是steps仍然会将每段关键帧的变化切割成number段,即只要在这个关键帧里设置了某个css,那么对于这个css来说,这个关键帧就会被视为steps动画的端点。
2. step-start 和 step-end基本用法
step-start = steps(n-1, start),表示跳过第一帧,直接开始动画,直接开始
step-end = steps(n-1, end)或者steps(n-1),表示从初始态开始动画,放弃最后一帧,直接终止
注意,通常直接写 steps(n) 实际上就是 steps(n, end),默认是跳过最后一帧,注意甄别
3. steps第二个参数
从 Chrome 77+开始,steps支持了几个以jumb-开头的关键词,分别是
jump-start,等同于之前的start,表示跳过第一帧
jump-end, 等同于之前的end,表示跳过最后一帧
jump-both,表示跳过第一帧和最后一帧,
jump-none,表示都不跳过 steps(3, jump-none),表示执行3帧,而不是4帧
使用关键字时候,steps的number要改变,比如 steps(n)
使用了jump-both,现在只能写成steps(n-2, jump-both), 要减去跳过的两帧
使用了jump-start,现在只能写成steps(n-1, jump-start), 要减去跳过的一帧
使用了jump-end,现在只能写成steps(n-1, jump-end), 要减去跳过的一帧
使用了jump-none,现在只能写成steps(n-0, jump-none), 减去0,相当于不减,直接写成steps(n, jump-none)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2019-08-22 正则表达式匹配第一次出现的字符
2018-08-22 React中的高阶组件,无状态组件,PureComponent
2018-08-22 React组件通信
2018-08-22 Vue组件通信
2018-08-22 React的getDefaultProps和getInitialState
2018-08-22 React生命周期总结
2018-08-22 vue生命周期总结