Bootstrap 5 is in alpha when this is written and it’s subject to change.
Bootstrap is a popular UI library for any JavaScript apps.
In this article, we’ll look at how to add button groups with Bootstrap 5.
Button Group
Button groups let us group a series of buttons together on a single line.
To add one, we can write:
<div class="btn-group">  
  <button type="button" class="btn btn-secondary">left</button>  
  <button type="button" class="btn btn-secondary">center</button>  
  <button type="button" class="btn btn-secondary">right</button>  
</div>
We have the .btn-group class to create the button group.
Also, we can use the .active class to highlight a button.
For example, we can write:
<div class="btn-group">  
  <button type="button" class="btn btn-secondary active">left</button>  
  <button type="button" class="btn btn-secondary">center</button>  
  <button type="button" class="btn btn-secondary">right</button>  
</div>
This also works with links:
<div class="btn-group">  
  <a href="#" class="btn btn-secondary active">left</a>  
  <a href="#" class="btn btn-secondary">center</a>  
  <a href="#" class="btn btn-secondary">right</a>  
</div>
The active class works with both buttons and links.
Outlined Styles
The button group can have outlined styles instead of background color.
For example, we can write:
<div class="btn-group">  
  <a href="#" class="btn btn-outline-secondary">left</a>  
  <a href="#" class="btn btn-outline-secondary">center</a>  
  <a href="#" class="btn btn-outline-secondary">right</a>  
</div>
We have the btn-outline-secondary class on each button to make the buttons outlined.
Button Toolbar
To group button groups together, we can add button toolbars.
For example, we can write:
<div class="btn-toolbar">  
  <div class="btn-group mr-2">  
    <button type="button" class="btn btn-primary">1</button>  
    <button type="button" class="btn btn-primary">2</button>  
    <button type="button" class="btn btn-primary">3</button>  
  </div>  
  <div class="btn-group mr-2">  
    <button type="button" class="btn btn-primary">4</button>  
    <button type="button" class="btn btn-primary">5</button>  
    <button type="button" class="btn btn-primary">6</button>  
  </div>  
  <div class="btn-group">  
    <button type="button" class="btn btn-primary">7</button>  
    <button type="button" class="btn btn-primary">8</button>  
  </div>  
</div>
We have the div with the btn-toolbar class to add the button group.
Then we have the button groups inside.
We add mr-2 to add some margins to the right.
Sizing
Button group sizes can be changed.
The btn-group-* classes can let us change the size.
For example, we can write:
<div class="btn-group btn-group-lg">  
  <button type="button" class="btn btn-primary">1</button>  
  <button type="button" class="btn btn-primary">2</button>  
  <button type="button" class="btn btn-primary">3</button>  
</div>
to add a button group with large buttons.
This is done with the btn-group-lg class.
To make a button group with small buttons, we can write:
<div class="btn-group btn-group-sm">  
  <button type="button" class="btn btn-primary">1</button>  
  <button type="button" class="btn btn-primary">2</button>  
  <button type="button" class="btn btn-primary">3</button>  
</div>
This is done with the btn-group-sm class.
Nesting
Button groups can be nested.
For example, we can write:
<div class="btn-group">  
  <button type="button" class="btn btn-secondary">left</button>  
  <button type="button" class="btn btn-secondary">center</button>
  <div class="btn-group">  
    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">  
      Dropdown  
    </button>  
    <ul class="dropdown-menu">  
      <li><a class="dropdown-item" href="#">foo</a></li>  
      <li><a class="dropdown-item" href="#">bar</a></li>  
    </ul>  
  </div>  
</div>
We put a button group inside another button group so that we can add a dropdown to our code.
The dropdown is in one button group.
We have a button for the dropdown toggle and a ul for the menu.
Vertical Variation
We can make button groups vertical with the btn-group-vertical class.
Split button dropdowns aren’t supported with vertical button groups.
To add one, we can write:
<div class="btn-group-vertical">  
  <button type="button" class="btn btn-secondary">left</button>  
  <button type="button" class="btn btn-secondary">center</button>
  <div class="btn-group">  
    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">  
      Dropdown  
    </button>  
    <ul class="dropdown-menu">  
      <li><a class="dropdown-item" href="#">foo</a></li>  
      <li><a class="dropdown-item" href="#">bar</a></li>  
    </ul>  
  </div>  
</div>
We just add the btn-group-vertical class to make it vertical.
Conclusion
Button groups let us add multiple buttons into one container.
We can nest them and add dropdowns to them.