Button group

Group a series of buttons together on a single line or stack them in a vertical column.

Basic example

Wrap a series of buttons with .btn in .btn-group.

<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, as an alternative to the .nav navigation components.

<Link to="#" className="btn btn-primary active" aria-current="page">Active link</Link>
<Link to="#" className="btn btn-primary">Link</Link>
<Link to="#" className="btn btn-primary">Link</Link>

Mixed styles

<button type="button" className="btn btn-danger">Left</button>
<button type="button" className="btn btn-warning">Middle</button>
<button type="button" className="btn btn-success">Right</button>

Outlined styles

<Button variant="outline-primary">Left</Button>
<Button variant="outline-primary">Middle</Button>
<Button variant="outline-primary">Right</Button>

Checkbox and radio button groups

Combine button-like checkbox and radio toggle buttons into a seamless looking button group.

<div className="btn-group" role="group" aria-label="Basic checkbox toggle button group">
    <div className="btn-group" role="group" aria-label="Basic radio toggle button group">
        <input type="radio" className="btn-check" name="btnradio" id="btnradio1" autoComplete="off"/>
        <label className="btn btn-outline-primary" for="btnradio1">Checkbox 1</label>
        <input type="radio" className="btn-check" name="btnradio" id="btnradio2" autoComplete="off"/>
        <label className="btn btn-outline-primary" for="btnradio2">Checkbox 2</label>
        <input type="radio" className="btn-check" name="btnradio" id="btnradio3" autoComplete="off"/>
        <label className="btn btn-outline-primary" for="btnradio3">Checkbox 3</label>
    </div>                       
</div>
<input type="radio" className="btn-check" name="btnradio" id="btnradio1" autoComplete="off"/>
    <label className="btn btn-outline-primary" for="btnradio1">Radio 1</label>
    <input type="radio" className="btn-check" name="btnradio" id="btnradio2" autoComplete="off"/>
    <label className="btn btn-outline-primary" for="btnradio2">Radio 2</label>
    <input type="radio" className="btn-check" name="btnradio" id="btnradio3" autoComplete="off"/>
    <label className="btn btn-outline-primary" for="btnradio3">Radio 3</label>

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.

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.

<ButtonToolbar className="mb-3" aria-label="Toolbar with Button groups">
    <ButtonGroup className="me-2" aria-label="First group">
        <Button variant="outline-secondary">1</Button>{' '}
        <Button variant="outline-secondary">2</Button>{' '}
        <Button variant="outline-secondary">3</Button>{' '}
        <Button variant="outline-secondary">4</Button>
    </ButtonGroup>
    <InputGroup>
        <InputGroup.Text id="btnGroupAddon">@</InputGroup.Text>
        <FormControl
            type="text"
            placeholder="Input group example"
            aria-label="Input group example"
            aria-describedby="btnGroupAddon"
        />
    </InputGroup>
</ButtonToolbar>
<ButtonToolbar
    className="justify-content-between"
    aria-label="Toolbar with Button groups"
>
    <ButtonGroup aria-label="First group">
        <Button variant="outline-secondary">1</Button>{' '}
        <Button variant="outline-secondary">2</Button>{' '}
        <Button variant="outline-secondary">3</Button>{' '}
        <Button variant="outline-secondary">4</Button>
    </ButtonGroup>
    <InputGroup>
        <InputGroup.Text id="btnGroupAddon2">@</InputGroup.Text>
            <FormControl
                type="text"
                placeholder="Input group example"
                aria-label="Input group example"
                aria-describedby="btnGroupAddon2"
            />
    </InputGroup>
</ButtonToolbar>

Sizing

Instead of applying button sizing props to every button in a group, just add size prop to the <ButtonGroup>.



<ButtonGroup size="lg" className="mb-2">
    <Button variant="outline-secondary">Left</Button>
    <Button variant="outline-secondary">Middle</Button>
    <Button variant="outline-secondary">Right</Button>
</ButtonGroup>
<br />
<ButtonGroup className="mb-2">
    <Button variant="outline-secondary">Left</Button>
    <Button variant="outline-secondary">Middle</Button>
    <Button variant="outline-secondary">Right</Button>
</ButtonGroup>
<br />
<ButtonGroup size="sm">
    <Button variant="outline-secondary">Left</Button>
    <Button variant="outline-secondary">Middle</Button>
    <Button variant="outline-secondary">Right</Button>
</ButtonGroup>                        

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>