Button Group
Group a series of buttons together on a single line with the button group.
Basic example
Wrap a series of <Button>
s in a <ButtonGroup>
.
<ButtonGroup aria-label="Basic example" > <Button variant="primary">Left</Button> <Button variant="primary">Middle</Button> <Button variant="primary">Right</Button></ButtonGroup>
These classes can also be added to groups of links with href
, as an alternative to the navigation components.
<ButtonGroup aria-label="Basic example" > <Button variant="primary" href="#" active >Active Link</Button> <Button variant="primary" href="#">Link</Button> <Button variant="primary" href="#">Link</Button></ButtonGroup>
Mixed Styles
<ButtonGroup aria-label="Basic mixed styles example" > <Button variant="danger" >Left</Button> <Button variant="warning" >Middle</Button> <Button variant="success" >Right</Button></ButtonGroup>
Outline Styles
<ButtonGroup aria-label="Basic mixed styles example" > <Button variant="outline-primary" >Left</Button> <Button variant="outline-primary" >Middle</Button> <Button variant="outline-primary" >Right</Button></ButtonGroup>
Checkbox and radio button groups
Combine button-like checkbox and radio toggle buttons into a seamless looking button group.
<ToggleButtonGroup type="checkbox" defaultValue={[1]} className="mb-2"> <ToggleButton id="tbg-check-1" value={1} variant="outline-primary"> Checkbox 1 </ToggleButton> <ToggleButton id="tbg-check-2" value={2} variant="outline-primary"> Checkbox 2 </ToggleButton> <ToggleButton id="tbg-check-3" value={3} variant="outline-primary"> Checkbox 3 </ToggleButton></ToggleButtonGroup>
<ToggleButtonGroup type="radio" name="options" defaultValue={1}> <ToggleButton id="tbg-radio-1" value={1} variant="outline-primary"> Radio 1 </ToggleButton> <ToggleButton id="tbg-radio-2" value={2} variant="outline-primary"> Radio 2 </ToggleButton> <ToggleButton id="tbg-radio-3" value={3} variant="outline-primary"> Radio 3 </ToggleButton></ToggleButtonGroup>
Button toolbar
Combine sets of <ButtonGroup>
s into a <ButtonToolbar>
for more complex components. Use utility classes as needed to space out groups, buttons, and more.
<ButtonToolbar aria-label="Toolbar with button groups"> <ButtonGroup aria-label="First group" className="me-2" > <Button>1</Button> <Button>2</Button> <Button>3</Button> <Button>4</Button> </ButtonGroup> <ButtonGroup aria-label="Second group" className="me-2" > <Button>5</Button> <Button>6</Button> <Button>7</Button> </ButtonGroup> <ButtonGroup aria-label="Third group"> <Button>8</Button> </ButtonGroup></ButtonToolbar>
Sizing
Instead of applying button sizing props to every button in a group, just add size
prop to the <ButtonGroup>
.
<ButtonGroup aria-label="Basic example" size="lg" className="mb-2" > <Button variant="primary">Left</Button> <Button variant="primary">Middle</Button> <Button variant="primary">Right</Button></ButtonGroup>
<br/>
<ButtonGroup aria-label="Basic example" className="mb-2" > <Button variant="primary">Left</Button> <Button variant="primary">Middle</Button> <Button variant="primary">Right</Button></ButtonGroup>
<br/>
<ButtonGroup aria-label="Basic example" size="sm"> <Button variant="primary">Left</Button> <Button variant="primary">Middle</Button> <Button variant="primary">Right</Button></ButtonGroup>
Button Nesting
You can place other button types within the <ButtonGroup>
like <DropdownButton>
s.
<ButtonGroup> <Button>1</Button> <Button>2</Button> <DropdownButton as={ButtonGroup} title="Dropdown" id="bg-nested-dropdown"> <Dropdown.Item eventKey="1">Dropdown link</Dropdown.Item> <Dropdown.Item eventKey="2">Dropdown link</Dropdown.Item> </DropdownButton></ButtonGroup>
Vertical variation
Make a set of buttons appear vertically stacked rather than horizontally, by adding vertical
to the <ButtonGroup>
. Split button dropdowns are not supported here.
<ButtonGroup vertical> <Button>Button</Button> <Button>Button</Button>
<DropdownButton as={ButtonGroup} title="Dropdown" id="bg-vertical-dropdown-1"> <Dropdown.Item eventKey="1">Dropdown link</Dropdown.Item> <Dropdown.Item eventKey="2">Dropdown link</Dropdown.Item> </DropdownButton>
<Button>Button</Button> <Button>Button</Button>
<DropdownButton as={ButtonGroup} title="Dropdown" id="bg-vertical-dropdown-2"> <Dropdown.Item eventKey="1">Dropdown link</Dropdown.Item> <Dropdown.Item eventKey="2">Dropdown link</Dropdown.Item> </DropdownButton>
<DropdownButton as={ButtonGroup} title="Dropdown" id="bg-vertical-dropdown-3"> <Dropdown.Item eventKey="1">Dropdown link</Dropdown.Item> <Dropdown.Item eventKey="2">Dropdown link</Dropdown.Item> </DropdownButton></ButtonGroup>