AUTO · 自动演示
参数调改
PLAYGROUND
打字周期--dur_ms
240012000
光标闪烁间隔--caret_blink_ms
4001600
文字字号--font_px
2456
文字颜色--text_color
光标颜色--caret_color
实现要点
NOTES- 01
纯 CSS 核心:span 宽度从 0ch 到 10ch 用 steps(10, end) 逐格撑开,等宽字体下 1ch 恰好一个字宽,overflow:hidden 裁切沿字格推进即逐字打出。
- 02
一个周期切三段:0-44% 打字、44-60% 停留、60-100% 删除;timing-function 写在关键帧内部让打字与删除各自走 steps,中间停留用 steps(1) 保持不动。
- 03
改文案必须同步三处:HTML 文本、keyframes 里的 ch 数、steps 的格数,三者不一致会出现半字符裁切或跳格。
- 04
光标是 span 的 border-right,宽度为 0 时也随盒子留在裁切线上持续闪烁,无需额外定位;闪烁用 steps(1) 做硬切换,比连续渐变更像终端。
- 05
性能:动画只改 width,会触发重排,但作用范围是单行小面积文本,实测无感;不要把这套宽度动画用于大段正文。
- 06
无障碍:h1 放完整 aria-label、内部 span 标记 aria-hidden;reduced-motion 下取消宽度动画与光标,直接静态显示完整文本,底部基准灰字同时隐藏避免重复。
源代码
SOURCE
加载源代码…