LayerwiseLayerwise
  • Features
  • Pricing
  • Templates
  • Docs
DownloadDownload
FeaturesPricingTemplatesDocsAI Website BuilderVibe CodingPersonal Software
DownloadDownload
  1. Glossary
  2. /
  3. Timing & sequencing

Stepped animation

Also called steps() easing, step animation, or frame-by-frame animation

An animation that jumps through a set number of frames instead of moving smoothly, made with the CSS steps() timing function.

import { motion, steps, useReducedMotion } from 'motion/react';

const FRAMES = 8;
const FRAME_WIDTH = 64; // px, so the sheet is 512px wide

export function WalkingSprite() {
  const reduceMotion = useReducedMotion();

  return (
    <motion.div
      role='img'
      aria-label='A character walking'
      // Reduced motion leaves the first frame showing.
      animate={
        reduceMotion
          ? undefined
          : { backgroundPositionX: [0, -FRAMES * FRAME_WIDTH] }
      }
      // steps(8) holds each frame, then jumps to the next, like a flip book.
      transition={{ duration: 0.8, ease: steps(FRAMES), repeat: Infinity }}
      className='size-16 bg-[url(/sprites/walk.png)] [image-rendering:pixelated]'
    />
  );
}
Animate the character sprite sheet, 8 frames that are each 64px wide, by moving its background-position from 0 to -512px over 800ms with steps(8), looping forever. Show only the first frame when prefers-reduced-motion is set.

Paste into Layerwise or any AI coding tool.

What is Stepped animation?

A stepped animation splits its duration into equal chunks and holds each value until the next chunk begins, like the second hand of a clock ticking. In CSS you get it by using steps(n) as the timing function, for example animation: tick 60s steps(60) infinite.

It fits places where smooth motion would look wrong: sprite sheets that flip through hand-drawn frames, typewriter effects that reveal one character at a time, ticking clocks and countdowns, and pixel-art styles.

steps() also takes a jump position. The default, jump-end (also written end), holds the starting value through the first step, while jump-start (or start) jumps right away. For a typewriter effect, match the step count to the number of characters so each step reveals exactly one.

Often confused with

Frame rate (FPS)
Frame rate is how many frames the browser draws each second. A stepped animation shows only a few distinct values on purpose, even at a high frame rate.

Related terms

All terms

Typewriter effect

A text animation that reveals a line one character at a time, as if someone were typing it, usually with a blinking caret at the end.

Linear easing

Easing that moves at one constant speed from start to finish, with no speeding up or slowing down, drawn as a straight line on a graph.

Keyframes

Snapshots that define how an element looks at set points in an animation. The browser fills in the motion between them.

Frame rate (FPS)

The number of frames a screen draws each second; around 60 fps, motion looks smooth, and at lower rates it starts to look choppy.

Build it with Layerwise

Describe your app, watch it run in a live preview, and publish it with a database, storage, and sign-in built in.

DownloadDownloadRead the docs
LayerwiseLayerwise

Build full-stack web apps in minutes with AI.

Product

  • Features
  • Pricing
  • Download
  • Templates

Solutions

  • AI Website Builder
  • Vibe Coding
  • Personal Software

Resources

  • Documentation
  • Changelog
  • Blog
  • Vibe Coding Glossary
  • llms.txt
  • llms-full.txt

Company

  • About
  • Contact

Legal

  • Privacy
  • Analytics Privacy
  • Terms
  • Security
  • Abuse

© 2026 Layerwise. All rights reserved.

Entrances & exits

  • Fade in
  • Slide in
  • Scale in
  • Pop in
  • Blur in
  • Reveal animation
  • Enter and exit animations

Timing & sequencing

  • Duration
  • Delay
  • Keyframes
  • Tweening
  • Stagger
  • Orchestration
  • Fill mode
  • Stepped animation
  • Looping animation
  • Yoyo animation

Easing

  • Easing
  • Linear easing
  • Ease-in
  • Ease-out
  • Ease-in-out
  • Cubic-bezier
  • Asymmetric easing
  • Overshoot easing

Springs & physics

  • Spring animation
  • Stiffness
  • Damping
  • Mass
  • Bounce
  • Velocity
  • Momentum
  • Interruptible animation
  • Rubber-banding

Transforms

  • Translate
  • Scale
  • Rotate
  • Skew
  • 3D flip
  • Perspective
  • Transform origin
  • Origin-aware animation

State transitions

  • Crossfade
  • Morph
  • Shared element transition
  • Layout animation
  • Height auto animation
  • Direction-aware transition
  • Continuity transition
  • Page transition
  • View Transitions API

Scroll effects

  • Scroll reveal
  • Scroll-driven animation
  • Parallax scrolling
  • Scrollytelling
  • Scroll pinning
  • Horizontal scroll section
  • Scroll progress bar
  • Scroll snap
  • Smooth scrolling

Interaction feedback

  • Hover effect
  • Press feedback
  • Ripple effect
  • Shake animation
  • Hold to confirm
  • Drag gesture
  • Drag to reorder
  • Swipe to dismiss
  • Pull to refresh
  • Magnetic button
  • Custom cursor
  • 3D tilt card
  • Spotlight card

Text effects

  • Typewriter effect
  • Text scramble
  • Split text animation
  • Text morph
  • Rotating words
  • Gradient text
  • Shimmer text
  • Number ticker
  • Tabular numbers
  • Underline animation

Loops & ambient motion

  • Marquee
  • Pulse animation
  • Float animation
  • Orbit animation
  • Idle animation
  • Particle background
  • Border beam
  • Confetti
  • Animated gradient

Visual effects

  • Blur
  • Clip-path
  • Mask
  • Before/after slider
  • SVG line drawing
  • Lottie animation

Motion principles

  • Purposeful animation
  • Anticipation
  • Follow-through
  • Squash and stretch
  • Perceived performance
  • Frequency of use
  • Spatial consistency
  • Reduced motion

Animation performance

  • Frame rate (FPS)
  • Jank
  • GPU acceleration
  • will-change
  • Layout thrashing

Layout

  • Hero section
  • Above the fold
  • Sticky header
  • Sidebar
  • Bento grid
  • Card
  • Flexbox
  • CSS Grid
  • Padding vs margin
  • Responsive design
  • Container
  • Masonry layout
  • Split screen
  • Z-index
  • Overflow

Components

  • Button variants
  • Modal
  • Drawer
  • Popover
  • Tooltip
  • Dropdown menu
  • Context menu
  • Toast notification
  • Tabs
  • Segmented control
  • Accordion
  • Carousel
  • Command palette
  • Combobox
  • Toggle switch
  • Checkbox
  • Radio button
  • Date picker
  • Breadcrumb
  • Pagination
  • Infinite scroll
  • Badge
  • Avatar stack
  • Empty state
  • Skeleton screen
  • Spinner
  • Progress bar
  • Data table
  • Stepper
  • Floating label
  • Inline validation
  • Alert banner
  • Tag input

States & patterns

  • Interaction states
  • Focus ring
  • Loading state
  • Optimistic UI
  • Debounce
  • Lazy loading
  • Dark mode
  • Micro-interaction
  • Affordance
  • Undo
  • Drag and drop
  • Keyboard shortcut

Visual styles

  • Glassmorphism
  • Liquid glass
  • Neumorphism
  • Claymorphism
  • Neo-brutalism
  • Skeuomorphism
  • Flat design
  • Mesh gradient
  • Aurora background
  • Grain texture
  • Glow effect
  • Drop shadow
  • Border radius
  • Grid background
  • Typographic hierarchy
  • Accent color
  • Color contrast

Vibe coding & AI

  • Vibe coding
  • Prompt
  • Context window
  • Token
  • AI agent
  • Tool call
  • Hallucination
  • Diff
  • Live preview
  • Checkpoint
  • Git commit
  • Deploy
  • Frontend and backend
  • API
  • Database
  • Rules file
  • MCP
  • Plan mode
  • Visual edit

linear

steps(8)