复选框和单选框是Web表单中常用的选择控件,用于收集用户的输入信息。
Bootstrap 5 提供了丰富的样式和功能来美化和增强这些控件:
使用Bootstrap 5的选择控件,可以大大提升用户体验和界面美观度。
统一的视觉设计
多种布局选项
多种交互样式
适配各种设备
Bootstrap 5 复选框和单选框的基本结构包含容器、输入控件和标签。
<!-- 复选框 -->
<div class="form-check">
<input class="form-check-input" type="checkbox" id="basicCheckbox">
<label class="form-check-label" for="basicCheckbox">
默认复选框
</label>
</div>
<!-- 单选框 -->
<div class="form-check">
<input class="form-check-input" type="radio" name="basicRadio" id="basicRadio1">
<label class="form-check-label" for="basicRadio1">
默认单选框
</label>
</div>
复选框允许用户从多个选项中选择一个或多个选项。
使用 .form-check 和 .form-check-input 类创建基本复选框:
<div class="form-check">
<input class="form-check-input" type="checkbox" id="defaultCheck1">
<label class="form-check-label" for="defaultCheck1">
默认复选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="defaultCheck2" checked>
<label class="form-check-label" for="defaultCheck2">
选中复选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="defaultCheck3" disabled>
可以创建没有可见标签的复选框:
<div class="form-check">
<input class="form-check-input" type="checkbox" id="noLabelCheckbox">
<label class="form-check-label" for="noLabelCheckbox"></label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="noLabelCheckbox2" checked>
<label class="form-check-label" for="noLabelCheckbox2"></label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="noLabelCheckbox3" disabled>
<label class="form-check-label" for="noLabelCheckbox3"></label>
</div>
Bootstrap 5 提供了多种复选框布局选项。
默认情况下,复选框是垂直堆叠的:
<div class="form-check">
<input class="form-check-input" type="checkbox" id="verticalCheck1">
<label class="form-check-label" for="verticalCheck1">
第一个复选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="verticalCheck2">
<label class="form-check-label" for="verticalCheck2">
第二个复选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="verticalCheck3">
<label class="form-check-label" for="verticalCheck3">
第三个复选框
</label>
</div>
使用 .form-check-inline 类创建水平排列的复选框:
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
<label class="form-check-label" for="inlineCheckbox1">选项 1</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="inlineCheckbox2" value="option2">
<label class="form-check-label" for="inlineCheckbox2">选项 2</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="inlineCheckbox3" value="option3" disabled>
<label class="form-check-label" for="inlineCheckbox3">选项 3 (禁用)</label>
</div>
使用Bootstrap网格系统创建复杂的复选框布局:
<div class="row">
<div class="col-md-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck1">
<label class="form-check-label" for="gridCheck1">
复选框 1
</label>
</div>
<!-- 更多复选框 -->
</div>
<div class="col-md-4">
<!-- 更多复选框 -->
</div>
<div class="col-md-4">
<!-- 更多复选框 -->
</div>
</div>
Bootstrap 5 提供了多种复选框状态选项。
使用 indeterminate 属性创建不确定状态的复选框:
<div class="form-check">
<input class="form-check-input" type="checkbox" id="indeterminateCheckbox" indeterminate>
<label class="form-check-label" for="indeterminateCheckbox">
不确定状态复选框
</label>
</div>
// 通过JavaScript设置不确定状态
document.getElementById('indeterminateCheckbox').indeterminate = true;
使用验证类为复选框添加验证状态:
<div class="form-check">
<input class="form-check-input is-valid" type="checkbox" id="validCheckbox">
<label class="form-check-label" for="validCheckbox">
有效状态复选框
</label>
<div class="valid-feedback">
看起来不错!
</div>
</div>
<div class="form-check">
<input class="form-check-input is-invalid" type="checkbox" id="invalidCheckbox">
<label class="form-check-label" for="invalidCheckbox">
无效状态复选框
</label>
<div class="invalid-feedback">
请选择此复选框以继续。
</div>
</div>
单选框允许用户从多个选项中选择一个选项。
使用 .form-check 和 .form-check-input 类创建基本单选框:
<div class="form-check">
<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios1" value="option1" checked>
<label class="form-check-label" for="exampleRadios1">
默认单选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios2" value="option2">
<label class="form-check-label" for="exampleRadios2">
第二个默认单选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios3" value="option3" disabled>
<label class="form-check-label" for="exampleRadios3">
禁用单选框
</label>
</div>
可以创建没有可见标签的单选框:
<div class="form-check">
<input class="form-check-input" type="radio" name="noLabelRadios" id="noLabelRadio1">
<label class="form-check-label" for="noLabelRadio1"></label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="noLabelRadios" id="noLabelRadio2" checked>
<label class="form-check-label" for="noLabelRadio2"></label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="noLabelRadios" id="noLabelRadio3" disabled>
<label class="form-check-label" for="noLabelRadio3"></label>
</div>
Bootstrap 5 提供了多种单选框布局选项。
默认情况下,单选框是垂直堆叠的:
<div class="form-check">
<input class="form-check-input" type="radio" name="verticalRadios" id="verticalRadio1" value="option1" checked>
<label class="form-check-label" for="verticalRadio1">
第一个单选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="verticalRadios" id="verticalRadio2" value="option2">
<label class="form-check-label" for="verticalRadio2">
第二个单选框
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="verticalRadios" id="verticalRadio3" value="option3">
<label class="form-check-label" for="verticalRadio3">
第三个单选框
</label>
</div>
使用 .form-check-inline 类创建水平排列的单选框:
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1">
<label class="form-check-label" for="inlineRadio1">选项 1</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2">
<label class="form-check-label" for="inlineRadio2">选项 2</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3" disabled>
<label class="form-check-label" for="inlineRadio3">选项 3 (禁用)</label>
</div>
Bootstrap 5 提供了开关样式的复选框,用于表示开启/关闭状态。
使用 .form-switch 类创建开关样式的复选框:
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="flexSwitchCheckDefault">
<label class="form-check-label" for="flexSwitchCheckDefault">默认开关</label>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="flexSwitchCheckChecked" checked>
<label class="form-check-label" for="flexSwitchCheckChecked">选中开关</label>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="flexSwitchCheckDisabled" disabled>
<label class="form-check-label" for="flexSwitchCheckDisabled">禁用开关</label>
</div>
可以自定义开关的大小和样式:
<!-- 大号开关 -->
<div class="form-check form-switch custom-switch-lg">
<input class="form-check-input" type="checkbox" id="customSwitch1">
<label class="form-check-label" for="customSwitch1">大号开关</label>
</div>
<!-- 自定义颜色开关 -->
<div class="form-check form-switch">
<input class="form-check-input form-check-custom" type="checkbox" id="customSwitch3">
<label class="form-check-label" for="customSwitch3">自定义颜色开关</label>
</div>
.custom-switch-lg .form-check-input {
width: 3rem;
height: 1.5rem;
}
.form-check-custom .form-check-input:checked {
background-color: #6f42c1;
border-color: #6f42c1;
}
使用下面的控件实时调整选择控件的属性,观察效果变化。
<div class="form-check">
<input class="form-check-input" type="checkbox" id="interactiveCheckbox">
<label class="form-check-label" for="interactiveCheckbox">
示例复选框
</label>
</div>
.form-check.form-check-input.form-check-label
.form-check-inline.form-switch.btn-check.btn-group.form-check.form-check-input.form-check-label
.form-check-inline.btn-check.btn-group.btn-group-vertical
checkeddisabledindeterminate.is-valid.is-invalid