Checks and radios
Checks
<div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault"> <label class="form-check-label" for="flexCheckDefault">Default checkbox</label> </div> <div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="flexCheckChecked" checked> <label class="form-check-label" for="flexCheckChecked">Checked checkbox</label> </div>
Indeterminate
Checkboxes can utilize the :indeterminate pseudo class when manually set via JavaScript (there is no available HTML attribute for specifying it).
<div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="demo" onclick="toggle(this)"> <label class="form-check-label" for="demo">Indeterminate checkbox</label> </div> <script> // Setting initial state var checkbox = document.getElementById("demo"); checkbox.indeterminate = true; // Toggle states function toggle(demo) { if (demo.readOnly) demo.checked=demo.readOnly=false; else if (!demo.checked) demo.readOnly=demo.indeterminate=true; } </script>
Disabled
Add the disabled attribute and the associated <label>s are automatically styled to match with a lighter color to help indicate the input’s state.
<div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="flexCheckDisabled" disabled> <label class="form-check-label" for="flexCheckDisabled">Default checkbox</label> </div> <div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="flexCheckCheckedDisabled" checked disabled> <label class="form-check-label" for="flexCheckCheckedDisabled">Checked checkbox</label> </div>
Radios
<div class="form-check"> <input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault1"> <label class="form-check-label" for="flexRadioDefault1">Default radio</label> </div> <div class="form-check"> <input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault2" checked> <label class="form-check-label" for="flexRadioDefault2">Default checked radio</label> </div>
Disabled
Add the disabled attribute and the associated <label>s are automatically styled to match with a lighter color to help indicate the input’s state.
<div class="form-check"> <input class="form-check-input" type="radio" name="flexRadioDisabled" id="flexRadioDisabled" disabled> <label class="form-check-label" for="flexRadioDisabled">Default radio</label> </div> <div class="form-check"> <input class="form-check-input" type="radio" name="flexRadioDisabled" id="flexRadioCheckedDisabled" checked disabled> <label class="form-check-label" for="flexRadioCheckedDisabled">Default checked radio</label> </div>
Switches
A switch has the markup of a custom checkbox but uses the .form-switch class to render a toggle switch. Switches also support the disabled attribute.
<div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="flexSwitchCheckDefault"> <label class="form-check-label" for="flexSwitchCheckDefault">Default switch checkbox input</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">Checked switch checkbox input</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">Disabled switch checkbox input</label> </div> <div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="flexSwitchCheckCheckedDisabled" checked disabled> <label class="form-check-label" for="flexSwitchCheckCheckedDisabled">Disabled checked switch checkbox input</label> </div>
Inline
By default, any number of checkboxes and radios that are immediate sibling will be vertically stacked and appropriately spaced with .form-check. Group checkboxes or radios on the same horizontal row by adding .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 (disabled)</label> </div>
<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 (disabled)</label> </div>
Without labels
Omit the wrapping .form-check for checkboxes and radios that have no label text.
<div> <input class="form-check-input" type="checkbox" id="checkboxNoLabel" value=""> </div> <div> <input class="form-check-input" type="radio" name="radioNoLabel" id="radioNoLabel1" value=""> </div>
Toggle buttons
Create button-like checkboxes and radio buttons by using .btn styles rather than .form-check-label on the <label> elements. These toggle buttons can further be grouped in a button group if needed.
Checkbox toggle buttons
<input type="checkbox" class="btn-check" id="btn-check" autocomplete="off"> <label class="btn btn-primary" for="btn-check">Single toggle</label> <input type="checkbox" class="btn-check" id="btn-check-2" autocomplete="off" checked> <label class="btn btn-primary" for="btn-check-2">Checked</label> <input type="checkbox" class="btn-check" id="btn-check-3" autocomplete="off" disabled> <label class="btn btn-primary" for="btn-check-3">Disabled</label>
Radio toggle buttons
<input type="radio" class="btn-check" name="options" id="option1" autocomplete="off" checked> <label class="btn btn-secondary" for="option1">Checked</label> <input type="radio" class="btn-check" name="options" id="option2" autocomplete="off"> <label class="btn btn-secondary" for="option2">Radio</label> <input type="radio" class="btn-check" name="options" id="option3" autocomplete="off" disabled> <label class="btn btn-secondary" for="option3">Disabled</label> <input type="radio" class="btn-check" name="options" id="option4" autocomplete="off"> <label class="btn btn-secondary" for="option4">Radio</label>