跳到主要内容
InputLevel 1

Checkbox

复选框

WebMobileDesktop上手难度: 容易

一个可以打勾的小方框,用于从多个选项里选任意几个。

01

Live Demo

真的可以点
注意「全选」框支持半选态(横线)。整行文字都可以点。

你刚才看到的这个:购物车每行左边的方框、设置页「允许通知」前面的勾、Todo 列表每项前面的圆框。

02

它到底是什么

Checkbox 的语义是「独立的开关」:勾了它不影响旁边那个。它和 Radio 的区别不在外观,而在逻辑——一个允许多选,一个只能单选。

复选框勾选框checkbox多选框对勾框
03

Anatomy · 它由什么组成

  1. Box方框

    18–20px,边框 1.5px

  2. Check Mark对勾

    选中时出现,可带动画

  3. Label文字

    与方框同基线左对齐

  4. Indeterminate半选态

    部分选中时显示横线

  5. Disabled禁用态

    已勾选但不可改

04

When to Use

什么时候该用 / 不该用
Checkbox 使用场景建议
情况推荐
从多个选项中选任意几个用
需要「全选」用
一个独立的开关(启用某功能)用
选项互斥、只能选一个不用
点击后立即生效的危险操作视情况

「同意服务条款」这种必须确认的声明用 Checkbox 可以,但它不是「同意就继续」的好替代品。

在移动端,Checklist 里每项最好整行可点(Row 级热区),只让 16px 的小方框可点会很难操作。

05

Similar Patterns

别搞混
完整对比Checkbox vs Radio vs Switch我需要让用户做一个选择,用哪个?查看表格
06

怎么告诉 AI

三层 Prompt

补上组件名和具体内容

加一个带全选的复选框列表:顶部「全选」支持半选态,每行文字整行可点,右侧显示已选数量。

07

不要只对 AI 说

Bad → Better

不要这样对 AI 说

加几个能打勾的选项。

改成这样说

加 Checkbox 列表:整行可点(label 包裹),支持「全选」的 indeterminate 半选态,顶部实时显示已选数量,选项区高度 ≥44px 便于移动端点击。

08

分享这张卡

社交平台友好

把这个 Pattern 做成 3:4(小红书)或 1:1(X / Reddit)的知识卡片,在浏览器里直接导出 PNG,不需要后端。