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>