Basic example#
Wrap a series of buttons with .btn
in .btn-group
.
{ {< example >} }
{ {< /example >} }
{ {< callout info >} }
Button groups require an appropriate role
attribute and explicit label to
ensure assistive technologies like screen readers identify buttons as grouped
and announce them. Use role="group"
for button groups or role="toolbar"
for
button toolbars. Then use aria-label
or aria-labelledby
to label them.
{ {< /callout >} }
These classes can also be added to groups of links, as an alternative to the
.nav
navigation components.
{ {< example >} }
{ {< /example >} }
Mixed styles#
{ {< example >} }
{ {< /example >} }
Outlined styles#
{ {< example >} }
{ {< /example >} }
Checkbox and radio button groups#
Combine button-like checkbox and radio toggle buttons into a seamless looking button group.
{ {< example >} }
{ {< /example >} }
{ {< example >} }
{ {< /example >} }
Button toolbar#
Combine sets of button groups into button toolbars for more complex components. Use utility classes as needed to space out groups, buttons, and more.
{ {< example >} }
{ {< /example >} }
Feel free to mix input groups with button groups in your toolbars. Similar to the example above, you'll likely need some utilities though to space things properly.
{ {< example >} }
{ {< /example >} }
Sizing#
Instead of applying button sizing classes to every button in a group, just add
.btn-group-*
to each .btn-group
, including each one when nesting multiple
groups.
{ {< example >} }
{ {< /example >} }
Nesting#
Place a .btn-group
within another .btn-group
when you want dropdown menus
mixed with a series of buttons.
{ {< example >} }
{ {< /example >} }
Vertical variation#
Make a set of buttons appear vertically stacked rather than horizontally. * Split button dropdowns are not supported here.*
{ {< example >} }
{ {< /example >} }
{ {< example >} }
{ {< /example >} }
{ {< example >} }
{ {< /example >} }