← All templates

前后对比 <BeforeAfter />

两张同尺寸截图叠在一起,中间一条可拖动的分隔线;两角各一个标签,右栏写解读。入场时分隔线从右侧滑到起始位置。

Template and style descriptions are currently available in Chinese only.

Group
实证 · 同一画面的两种状态
Component
BeforeAfter · #before-after
Interaction
拖动或点击画面移动分隔线;手柄获得焦点后 ← → 微调,不会翻页。

Good for

  • 改版前后、优化前后
  • 同一页面在两种条件下的样子:开关 JavaScript、桌面与移动、两个版本

Avoid when

  • 两张图构图不同:分开放或用 Screenshot
  • 差别要靠文字说明而不是看出来:用 CompareTable

Content limits

1两张图尺寸和构图必须一致,ratio 填真实宽高比
2label ≤ 10 字
3notes 2–3 条:key ≤ 8 字,text ≤ 30 字
4必须是真实截图,source 写明怎么截的

Fields

FieldType
kicker · requiredstring标题上方的小节名,2–8 字
title · requiredstring | string[]页面标题;传数组可手动断行,每项一行
leadstring一到两句导语,≤ 60 字
sourcestring事实出处;页面上有任何数据或事实时必填
hintReactNode页眉中间的操作提示,可用 <kbd>
before · required{ label, src }分隔线左侧
after · required{ label, src }分隔线右侧
alt · requiredstring给读屏软件的描述
rationumber宽高比,默认 16/9
startnumber分隔线起始位置 0–100,默认 50
notes{ key, text }[]右栏解读

Example

import jsOn from './assets/deck-js-on.webp'
import jsOff from './assets/deck-js-off.webp'

<BeforeAfter
  kicker="实测"
  title="同一页,关掉 JavaScript 之后"
  before={{ label: '浏览器 · 执行 JS', src: jsOn }}
  after={{ label: '爬虫 · 不执行 JS', src: jsOff }}
  alt="启用与禁用 JavaScript 时的同一页面"
  source="实测:Playwright 分别启用和禁用 JavaScript 截图"
/>