← All templates

Step through video <StepVideo />

A video on the left, 2–4 stop notes on the right. With build: 'reveal', each press plays up to the next stop and pauses there, and the matching note appears. Going back or jumping to the slide shows the stop frame directly; when jumping to the slide, printing or with reduced motion it stops at the last stop.

Group
Motion · each press plays one segment and stops on the frame to talk about
Component
StepVideo · #step-video
Interaction
Press → play to the next stop

Good for

  • A screen recording or an animated chart you want to talk over while it plays
  • A change with 2–4 moments worth stopping at

Avoid when

  • The video is long or large: it is inlined into a single HTML file
  • You need sound: the video is always muted

Content limits

1stops 2–4, at increases in seconds
2title ≤ 8 chars
3body ≤ 30 chars
4slide title ≤ 22 chars
5lead ≤ 40 chars
6video ideally ≤ 15 s and ≤ 1 MB (trim and compress with ffmpeg first)

Fields

FieldType
kicker · requiredstringSection label
title · requiredstring | string[]Title
leadstringLead
src · requiredstringVideo file (import)
label · requiredstringDescription of the video content
startnumberSeconds shown before the first press, default 0
stops · required{ at, title, body }[]Stops
sourcestringSource

Example

<StepVideo
  kicker="逐段播放"
  title="十年里,差距怎么拉开"
  src={race}
  label="各国太阳能发电量排名动画"
  stops={[{ at: 1, title: '2015 年', body: '…' }, { at: 4.4, title: '2021 年', body: '…' }]}
/>