extends ../../_layout/default.pug
block canonical
link(rel='canonical' href='https://coreui.io/docs/components/button-group/')
block breadcrumb
+breadcrumb(
[
{ href: '#', label: 'Home'},
{ label: 'Components'},
{ label: 'Buttons'},
'Buttons group'
]
)
block view
+docs-components('https://coreui.io/docs/components/button-group/')
.row
.col-12
.card.mb-4
.card-header
strong Button group
span.small.ms-1 Basic example
.card-body
p.text-body-secondary.small
| Wrap a series of buttons with
code .btn
| in
code .btn-group
| . Add on optional JavaScript radio and checkbox style behavior with
a(href='https://coreui.io/docs/components/buttons/#button-plugin') our buttons plugin
| .
+example('https://coreui.io/docs/components/button-group/#basic-example')
.btn-group(role='group' aria-label='Basic example')
button.btn.btn-primary(type='button') Left
button.btn.btn-primary(type='button') Middle
button.btn.btn-primary(type='button') Right
p.text-body-secondary.small
| These classes can also be added to groups of links, as an alternative to the
a(href='https://coreui.io/docs/components/navs-tabs/')
code .nav
| navigation components
| .
+example('https://coreui.io/docs/components/button-group/#basic-example')
.btn-group
a.btn.btn-primary.active(href='#' aria-current='page') Active link
a.btn.btn-primary(href='#') Link
a.btn.btn-primary(href='#') Link
.col-12
.card.mb-4
.card-header
strong Button group
span.small.ms-1 Mixed styles
.card-body
+example('https://coreui.io/docs/components/button-group/#mixed-styles')
.btn-group(role='group' aria-label='Basic mixed styles example')
button.btn.btn-danger(type='button') Left
button.btn.btn-warning(type='button') Middle
button.btn.btn-success(type='button') Right
.col-12
.card.mb-4
.card-header
| Outlined styles
.card-body
+example('https://coreui.io/docs/components/button-group/#outlined-styles')
.btn-group(role='group' aria-label='Basic outlined example')
button.btn.btn-outline-primary(type='button') Left
button.btn.btn-outline-primary(type='button') Middle
button.btn.btn-outline-primary(type='button') Right
.col-12
.card.mb-4
.card-header
strong Button group
span.small.ms-1 Checkbox and radio button groups
.card-body
p.text-body-secondary.small
| Combine button-like checkbox and radio
a(href='https://coreui.io/docs/forms/checks-radios/') toggle buttons
| into a seamless looking button group.
+example('https://coreui.io/docs/components/button-group/#checkbox-and-radio-button-groups')
.btn-group(role='group' aria-label='Basic checkbox toggle button group')
input#btncheck1.btn-check(type='checkbox' autocomplete='off')
label.btn.btn-outline-primary(for='btncheck1') Checkbox 1
input#btncheck2.btn-check(type='checkbox' autocomplete='off')
label.btn.btn-outline-primary(for='btncheck2') Checkbox 2
input#btncheck3.btn-check(type='checkbox' autocomplete='off')
label.btn.btn-outline-primary(for='btncheck3') Checkbox 3
+example('https://coreui.io/docs/components/button-group/#checkbox-and-radio-button-groups')
.btn-group(role='group' aria-label='Basic radio toggle button group')
input#btnradio1.btn-check(type='radio' name='btnradio' autocomplete='off' checked='')
label.btn.btn-outline-primary(for='btnradio1') Radio 1
input#btnradio2.btn-check(type='radio' name='btnradio' autocomplete='off')
label.btn.btn-outline-primary(for='btnradio2') Radio 2
input#btnradio3.btn-check(type='radio' name='btnradio' autocomplete='off')
label.btn.btn-outline-primary(for='btnradio3') Radio 3
.col-12
.card.mb-4
.card-header
strong Button group
span.small.ms-1 Button toolbar
.card-body
p.text-body-secondary.small
| Join sets of button groups into button toolbars for more complicated components. Use utility classes as needed to space out groups, buttons, and more.
+example('https://coreui.io/docs/components/button-group/#button-toolbar')
.btn-toolbar(role='toolbar' aria-label='Toolbar with button groups')
.btn-group.me-2(role='group' aria-label='First group')
button.btn.btn-primary(type='button') 1
button.btn.btn-primary(type='button') 2
button.btn.btn-primary(type='button') 3
button.btn.btn-primary(type='button') 4
.btn-group.me-2(role='group' aria-label='Second group')
button.btn.btn-secondary(type='button') 5
button.btn.btn-secondary(type='button') 6
button.btn.btn-secondary(type='button') 7
.btn-group(role='group' aria-label='Third group')
button.btn.btn-info(type='button') 8
p.text-body-secondary.small
| Feel free to combine input groups with button groups in your toolbars. Similar to the example above, you’ll likely need some utilities through to space items correctly.
+example('https://coreui.io/docs/components/button-group/#button-toolbar')
.btn-toolbar.mb-3(role='toolbar' aria-label='Toolbar with button groups')
.btn-group.me-2(role='group' aria-label='First group')
button.btn.btn-outline-secondary(type='button') 1
button.btn.btn-outline-secondary(type='button') 2
button.btn.btn-outline-secondary(type='button') 3
button.btn.btn-outline-secondary(type='button') 4
.input-group
#btnGroupAddon.input-group-text @
input.form-control(type='text' placeholder='Input group example' aria-label='Input group example' aria-describedby='btnGroupAddon')
.btn-toolbar.justify-content-between(role='toolbar' aria-label='Toolbar with button groups')
.btn-group(role='group' aria-label='First group')
button.btn.btn-outline-secondary(type='button') 1
button.btn.btn-outline-secondary(type='button') 2
button.btn.btn-outline-secondary(type='button') 3
button.btn.btn-outline-secondary(type='button') 4
.input-group
#btnGroupAddon2.input-group-text @
input.form-control(type='text' placeholder='Input group example' aria-label='Input group example' aria-describedby='btnGroupAddon2')
.col-12
.card.mb-4
.card-header
strong Button group
span.small.ms-1 Sizing
.card-body
p.text-body-secondary.small
| Alternatively, of implementing button sizing classes to each button in a group, add
code .btn-group-*
| to all
code .btn-group
| , including each one when nesting multiple groups.
+example('https://coreui.io/docs/components/button-group/#sizing')
.btn-group.btn-group-lg(role='group' aria-label='Large button group')
button.btn.btn-outline-dark(type='button') Left
button.btn.btn-outline-dark(type='button') Middle
button.btn.btn-outline-dark(type='button') Right
br
.btn-group(role='group' aria-label='Default button group')
button.btn.btn-outline-dark(type='button') Left
button.btn.btn-outline-dark(type='button') Middle
button.btn.btn-outline-dark(type='button') Right
br
.btn-group.btn-group-sm(role='group' aria-label='Small button group')
button.btn.btn-outline-dark(type='button') Left
button.btn.btn-outline-dark(type='button') Middle
button.btn.btn-outline-dark(type='button') Right
.col-12
.card.mb-4
.card-header
strong Button group
span.small.ms-1 Nesting
a.anchorjs-link(aria-label='Anchor' data-anchorjs-icon='#' href='#nesting' style='padding-left: 0.375em;')
.card-body
p.text-body-secondary.small
| Put a
code .btn-group
| inside another
code .btn-group
| when you need dropdown menus combined with a series of buttons.
+example('https://coreui.io/docs/components/button-group/#nesting')
.btn-group(role='group' aria-label='Button group with nested dropdown')
button.btn.btn-primary(type='button') 1
button.btn.btn-primary(type='button') 2
.btn-group(role='group')
button#btnGroupDrop1.btn.btn-primary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false')
| Dropdown
ul.dropdown-menu(aria-labelledby='btnGroupDrop1')
li
a.dropdown-item(href='#') Dropdown link
li
a.dropdown-item(href='#') Dropdown link
.col-12
.card.mb-4
.card-header
strong Button group
span.small.ms-1 Vertical variation
.card-body
p.text-body-secondary.small
| Create a set of buttons that appear vertically stacked rather than horizontally.
strong Split button dropdowns are not supported here.
+example('https://coreui.io/docs/components/button-group/#vertical-variation')
.btn-group-vertical(role='group' aria-label='Vertical button group')
button.btn.btn-dark(type='button') Button
button.btn.btn-dark(type='button') Button
button.btn.btn-dark(type='button') Button
button.btn.btn-dark(type='button') Button
button.btn.btn-dark(type='button') Button
button.btn.btn-dark(type='button') Button
+example('https://coreui.io/docs/components/button-group/#vertical-variation')
.btn-group-vertical(role='group' aria-label='Vertical button group')
button.btn.btn-primary(type='button') Button
button.btn.btn-primary(type='button') Button
.btn-group(role='group')
button#btnGroupVerticalDrop1.btn.btn-primary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false')
| Dropdown
ul.dropdown-menu(aria-labelledby='btnGroupVerticalDrop1')
li
a.dropdown-item(href='#') Dropdown link
li
a.dropdown-item(href='#') Dropdown link
button.btn.btn-primary(type='button') Button
button.btn.btn-primary(type='button') Button
.btn-group(role='group')
button#btnGroupVerticalDrop2.btn.btn-primary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false')
| Dropdown
ul.dropdown-menu(aria-labelledby='btnGroupVerticalDrop2')
li
a.dropdown-item(href='#') Dropdown link
li
a.dropdown-item(href='#') Dropdown link
.btn-group(role='group')
button#btnGroupVerticalDrop3.btn.btn-primary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false')
| Dropdown
ul.dropdown-menu(aria-labelledby='btnGroupVerticalDrop3')
li
a.dropdown-item(href='#') Dropdown link
li
a.dropdown-item(href='#') Dropdown link
.btn-group(role='group')
button#btnGroupVerticalDrop4.btn.btn-primary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false')
| Dropdown
ul.dropdown-menu(aria-labelledby='btnGroupVerticalDrop4')
li
a.dropdown-item(href='#') Dropdown link
li
a.dropdown-item(href='#') Dropdown link
+example('https://coreui.io/docs/components/button-group/#vertical-variation')
.btn-group-vertical(role='group' aria-label='Vertical radio toggle button group')
input#vbtn-radio1.btn-check(type='radio' name='vbtn-radio' autocomplete='off' checked='')
label.btn.btn-outline-danger(for='vbtn-radio1') Radio 1
input#vbtn-radio2.btn-check(type='radio' name='vbtn-radio' autocomplete='off')
label.btn.btn-outline-danger(for='vbtn-radio2') Radio 2
input#vbtn-radio3.btn-check(type='radio' name='vbtn-radio' autocomplete='off')
label.btn.btn-outline-danger(for='vbtn-radio3') Radio 3