码译 · VibeCode
不能点的按钮要变灰,让人知道现在不能操作
禁用按钮
Disabled State
反模式禁用和正常按钮长得一样,用户还去点,困惑
正解禁用态降低透明度+灰化+not-allowed 光标,与正常态明显区分
在线对比体验 · 同一个需求,大白话 vs 平台提示词,效果立分高下 · 右边可点击体验
大白话直接生成
禁用态没区分
平台提示词生成
(禁用态变灰)
点「点击试用」看禁用抖动
差在哪?大白话没讲「禁用和正常按钮长得一样,用户还去点,困惑」,AI 只能自己猜;平台提示词写明「禁用态降低透明度+灰化+not-allowed 光标,与正常态明显区分」,还带要点与三端注意,一次到位不用返工。
代码示例
错误写法
.btn{ background:#C8442E } /* 禁用时还是红色实心,看不出不能点 */
正确写法
.btn:disabled{ opacity:.45;cursor:not-allowed;background:#C8442E }
语义锚点 · 对齐 AI 语义库契约
<div data-vibe="disabled-state"> … 组件根元素 … </div><!-- AI 用语义名片 locate 此属性即可定位/修改 -->
在组件根元素挂 data-vibe="disabled-state",AI 用语义名片里的 locate([data-vibe='disabled-state'])即可定位、修改、组合该组件——与「AI 语义库」tab 的契约一一对应。在 AI 语义库看契约 →
不同平台注意
网页button[disabled] 禁用交互,CSS 调灰减透明度
AppRN disabled 属性+样式区分,禁止点击逻辑
小程序小程序 button disabled 属性,禁用态样式单独写
可直接复制的提示词(三端都给你,挑对应平台复制给 Cursor / 通义灵码 / Claude)
网页 Web
你是一位资深前端工程师。我想实现【禁用按钮】(专业术语:Disabled State)。

【我想达到的效果】不能点的按钮要变灰,让人知道现在不能操作。
【请避免的反模式】禁用和正常按钮长得一样,用户还去点,困惑。
【正确做法】禁用态降低透明度+灰化+not-allowed 光标,与正常态明显区分。

【平台】网页 Web(标准 HTML/CSS/JS,单文件零依赖,不引任何 CDN)。
【提示词要点】
- 禁用态别只改颜色,加 not-allowed
- 不可用也要保证可读性
- 满足即用条件后再启用

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
手机 App
你是一位资深前端工程师。我想实现【禁用按钮】(专业术语:Disabled State)。

【我想达到的效果】不能点的按钮要变灰,让人知道现在不能操作。
【请避免的反模式】禁用和正常按钮长得一样,用户还去点,困惑。
【正确做法】禁用态降低透明度+灰化+not-allowed 光标,与正常态明显区分。

【平台】手机 App(React Native / Flutter / 原生,给出对应组件与关键代码)。
【提示词要点】
- 禁用态别只改颜色,加 not-allowed
- 不可用也要保证可读性
- 满足即用条件后再启用

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
微信小程序
你是一位资深前端工程师。我想实现【禁用按钮】(专业术语:Disabled State)。

【我想达到的效果】不能点的按钮要变灰,让人知道现在不能操作。
【请避免的反模式】禁用和正常按钮长得一样,用户还去点,困惑。
【正确做法】禁用态降低透明度+灰化+not-allowed 光标,与正常态明显区分。

【平台】微信小程序(WXML/WXSS/JS,注意 rpx 单位与小程序专属约束)。
【提示词要点】
- 禁用态别只改颜色,加 not-allowed
- 不可用也要保证可读性
- 满足即用条件后再启用

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。