滑块
Slider
UI 组件也叫:滑动条、滑动输入条、拖动条、Range Slider
一句话:在一条横轨上拖动圆形滑块来选择数值或范围,适合音量、亮度、价格区间这类不要求精确的调节。
详细解释
滑块由一条轨道和一个可拖动的圆点组成,圆点左边的轨道会填色,表示当前值在整个范围里的位置。拖动时一般在圆点上方显示当前数值;也可以放两个圆点来选一个范围,比如价格 100~500 元。数值可以是连续的,也可以只停在几个固定刻度上,比如字号的小、中、大。
它的优点是直观,缺点是很难精确停在某个具体数字,在手机上尤其明显。需要精确填写时用 数字输入框,或者把滑块和数字输入框并排放、两者联动。滑块最适合拖动时能实时看到效果的场景,比如调节图片亮度、预览音量。
示例
灰度线框示意,只表达结构,不代表具体视觉风格。
怎么跟 AI 说
可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。
商品筛选栏里的「价格区间」用双滑块,范围 0~2000 元,步长 50。两个圆点之间的轨道填深色,拖动时圆点上方显示当前价格,下方并排两个小数字输入框与滑块联动;松开鼠标后再触发筛选请求,拖动过程中不要频繁请求。
结构与适用场景
结构描述
由一条横向轨道、已选部分的填色和一个或两个可拖动的圆形滑块组成,可以带刻度和数值提示。
适用场景
- 调节音量、亮度、透明度这类不需要精确数值、拖动时能实时看到效果的设置
- 筛选商品价格、房屋面积这类有明确上下限的区间
- 从几个有先后顺序的档位里选一个,比如字号小、中、大
不适用场景
- 需要输入精确数值的内容,比如金额、购买数量,应该用数字输入框
- 数值范围很大、没有明确上限的内容,比如填写年收入
- 只是展示任务完成了多少、用户不能拖动时,应该用进度条
常见坏用法
- 用滑块选年龄、数量这类需要精确的数字,用户拖好几次都停不到想要的值
- 拖动时不显示当前数值,用户不知道自己选了多少
- 拖动过程中每移动一点就发一次请求,页面卡顿
识别特征
- 一条细长的横线轨道,上面有一个或两个圆点
- 圆点左侧(或两个圆点之间)的轨道颜色更深
- 圆点上方有时浮出显示当前数值的小气泡
DOM 线索
插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。
input[type="range"][role="slider"].ant-slider.el-slider[class*="MuiSlider-root"].arco-slider.t-slider.n-slider[data-slot="slider"].form-range