一排选项里只能选一个,但用一堆单选按钮太丑,想要那种 iOS 上面平滑切换的样式
分段控制器
Segmented Control
反模式用一堆 radio 各自画边框,选中态不清晰,切换没有滑动反馈
正解一组等宽按钮 + 一个会滑动的高亮背景表示当前选中项,选项 2~5 个最合适
在线对比体验 · 同一个需求,大白话 vs 平台提示词,效果立分高下 · 右边可点击体验
大白话直接生成
日周月
哪个选中了?
平台提示词生成点一下试试
日周月
差在哪?大白话没讲「用一堆 radio 各自画边框,选中态不清晰,切换没有滑动反馈」,AI 只能自己猜;平台提示词写明「一组等宽按钮 + 一个会滑动的高亮背景表示当前选中项,选项 2~5 个最合适」,还带要点与三端注意,一次到位不用返工。
代码示例
不同平台注意
网页flex 横排 + 滑动高亮;ARIA 用 role=radiogroup
AppiOS UISegmentedControl / RN SegmentedControl
小程序自定义组件 + scroll-view 底部指示器
可直接复制的提示词(三端都给你,挑对应平台复制给 Cursor / 通义灵码 / Claude)
网页 Web
你是一位资深前端工程师。我想实现【分段控制器】(专业术语:Segmented Control)。
【我想达到的效果】一排选项里只能选一个,但用一堆单选按钮太丑,想要那种 iOS 上面平滑切换的样式。
【请避免的反模式】用一堆 radio 各自画边框,选中态不清晰,切换没有滑动反馈。
【正确做法】一组等宽按钮 + 一个会滑动的高亮背景表示当前选中项,选项 2~5 个最合适。
【平台】网页 Web(标准 HTML/CSS/JS,单文件零依赖,不引任何 CDN)。
【提示词要点】
- 选项 2~5 个最合适,过多改用手势/下拉
- 选中项用底色或滑块明确标示
- 可加滑动过渡动画提升手感
- 移动端点击区域 ≥44px
请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
手机 App
你是一位资深前端工程师。我想实现【分段控制器】(专业术语:Segmented Control)。
【我想达到的效果】一排选项里只能选一个,但用一堆单选按钮太丑,想要那种 iOS 上面平滑切换的样式。
【请避免的反模式】用一堆 radio 各自画边框,选中态不清晰,切换没有滑动反馈。
【正确做法】一组等宽按钮 + 一个会滑动的高亮背景表示当前选中项,选项 2~5 个最合适。
【平台】手机 App(React Native / Flutter / 原生,给出对应组件与关键代码)。
【提示词要点】
- 选项 2~5 个最合适,过多改用手势/下拉
- 选中项用底色或滑块明确标示
- 可加滑动过渡动画提升手感
- 移动端点击区域 ≥44px
请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
微信小程序
你是一位资深前端工程师。我想实现【分段控制器】(专业术语:Segmented Control)。
【我想达到的效果】一排选项里只能选一个,但用一堆单选按钮太丑,想要那种 iOS 上面平滑切换的样式。
【请避免的反模式】用一堆 radio 各自画边框,选中态不清晰,切换没有滑动反馈。
【正确做法】一组等宽按钮 + 一个会滑动的高亮背景表示当前选中项,选项 2~5 个最合适。
【平台】微信小程序(WXML/WXSS/JS,注意 rpx 单位与小程序专属约束)。
【提示词要点】
- 选项 2~5 个最合适,过多改用手势/下拉
- 选中项用底色或滑块明确标示
- 可加滑动过渡动画提升手感
- 移动端点击区域 ≥44px
请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。