跳到主要内容
前端术语库

滑块

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