Radio buttons
Bootstrap radio button
Note: We are transitioning MDB4 to a legacy version and focusing on developing MDB5.
While we'll continue to support for the transition period, we encourage you to migrate to
MDB5. We're offering a huge discount on MDB5 PRO to help with your transition,
enabling you to leverage the full potential of the latest version. You can find more information here.
upgrade with discount
A 'radio button' is a component used to allow a user to make a single choice among a number of options (whereas Checkboxes are used for selecting multiple options).
Default radio buttons
Default styling for the Bootstrap radio button component
<!-- Default unchecked -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultUnchecked" name="defaultExampleRadios">
<label class="custom-control-label" for="defaultUnchecked">Default unchecked</label>
</div>
<!-- Default checked -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultChecked" name="defaultExampleRadios" checked>
<label class="custom-control-label" for="defaultChecked">Default checked</label>
</div>
Material radio buttons MDB Pro component
Material Design styling for the Bootstrap radio button component
<!-- Material unchecked -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialUnchecked" name="materialExampleRadios">
<label class="form-check-label" for="materialUnchecked">Material unchecked</label>
</div>
<!-- Material checked -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialChecked" name="materialExampleRadios" checked>
<label class="form-check-label" for="materialChecked">Material checked</label>
</div>
Checked state
Add a
checked
attribute to the
<input>
element to pre-select a radio button when the page loads.
The
checked
attribute is a boolean attribute.
The checked attribute can be used with
<input type="checkbox">
and
<input type="radio">
.
Default radio
<!-- Default checked -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultChecked2" name="defaultExample2" checked>
<label class="custom-control-label" for="defaultChecked2">Default checked</label>
</div>
Material radio MDB Pro component
<!-- Material checked -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialChecked2" name="materialExample2" checked>
<label class="form-check-label" for="materialChecked2">Material checked</label>
</div>
Name property
To create a group of radio buttons (to enable single-choice behavior) you have to set to each of the
<input>
elements the same value of the
name
property.
Default radio
In the example below we set
name="groupOfDefaultRadios"
to each input.
<!-- Group of default radios - option 1 -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultGroupExample1" name="groupOfDefaultRadios">
<label class="custom-control-label" for="defaultGroupExample1">Option 1</label>
</div>
<!-- Group of default radios - option 2 -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultGroupExample2" name="groupOfDefaultRadios" checked>
<label class="custom-control-label" for="defaultGroupExample2">Option 2</label>
</div>
<!-- Group of default radios - option 3 -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultGroupExample3" name="groupOfDefaultRadios">
<label class="custom-control-label" for="defaultGroupExample3">Option 3</label>
</div>
Material radio MDB Pro component
In the example below we set
name="groupOfMaterialRadios"
to each input.
<!-- Group of material radios - option 1 -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialGroupExample1" name="groupOfMaterialRadios">
<label class="form-check-label" for="materialGroupExample1">Option 1</label>
</div>
<!-- Group of material radios - option 2 -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialGroupExample2" name="groupOfMaterialRadios" checked>
<label class="form-check-label" for="materialGroupExample2">option 2</label>
</div>
<!-- Group of material radios - option 3 -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialGroupExample3" name="groupOfMaterialRadios">
<label class="form-check-label" for="materialGroupExample3">option 3</label>
</div>
Disabled state
Add a
disabled
boolean attribute to the
<input>
element and the custom indicator and label description will be automatically styled and blocked.
A disabled
<input>
element is unusable and un-clickable.
Default radio buttons
<!-- Default unchecked disabled -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultUncheckedDisabled2" name="disabledGroupExample" disabled>
<label class="custom-control-label" for="defaultUncheckedDisabled2">Default unchecked disabled</label>
</div>
<!-- Default checked disabled -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultCheckedDisabled2" name="disabledGroupExample" checked disabled>
<label class="custom-control-label" for="defaultCheckedDisabled2">Default checked disabled</label>
</div>
Material radio buttons MDB Pro component
To provide a proper cursor styling for material radio button, apart from setting a
disabled
attribute you’ll also need to add the
.disabled
class to the
<label>
element.
<!-- Material unchecked disabled -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialUncheckedDisabled2" name="disabledGroupExample2" disabled>
<label class="form-check-label disabled" for="materialUncheckedDisabled2">Material unchecked disabled</label>
</div>
<!-- Material checked disabled -->
<div class="form-check">
<input type="radio" class="form-check-input" id="materialCheckedDisabled2" name="disabledGroupExample2" checked disabled>
<label class="form-check-label disabled md-disabled" for="materialCheckedDisabled2">Material checked disabled</label>
</div>
Inline
Default radio buttons
Group default radio buttons or checkboxes on the same horizontal row by adding the
.custom-control-inline
class to any parent element of the
<input>
element.
<!-- Default inline 1-->
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="defaultInline1" name="inlineDefaultRadiosExample">
<label class="custom-control-label" for="defaultInline1">1</label>
</div>
<!-- Default inline 2-->
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="defaultInline2" name="inlineDefaultRadiosExample">
<label class="custom-control-label" for="defaultInline2">2</label>
</div>
<!-- Default inline 3-->
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="defaultInline3" name="inlineDefaultRadiosExample">
<label class="custom-control-label" for="defaultInline3">3</label>
</div>
Material radio buttons MDB Pro component
Group material radio buttons or checkboxes on the same horizontal row by adding the
.form-check-inline
class to any parent element of the
<input>
element.
<!-- Material inline 1 -->
<div class="form-check form-check-inline">
<input type="radio" class="form-check-input" id="materialInline1" name="inlineMaterialRadiosExample">
<label class="form-check-label" for="materialInline1">1</label>
</div>
<!-- Material inline 2 -->
<div class="form-check form-check-inline">
<input type="radio" class="form-check-input" id="materialInline2" name="inlineMaterialRadiosExample">
<label class="form-check-label" for="materialInline2">2</label>
</div>
<!-- Material inline 3 -->
<div class="form-check form-check-inline">
<input type="radio" class="form-check-input" id="materialInline3" name="inlineMaterialRadiosExample">
<label class="form-check-label" for="materialInline3">3</label>
</div>