Snippets Buttons

Bootstrap 5 Button Groups and Toolbars

A set of Bootstrap 5 button groups and toolbars: alignment and text-style toggles, a segmented control, three sizes, a pager toolbar and a split button.

Bootstrap 5 No jQuery Jul 2019 2.2K views

<section class="wdw-stage">
  <div class="container" style="max-width: 820px">
    <div class="text-center mb-4">
      <span class="wdw-eyebrow">Button groups</span>
      <h1 class="wdw-heading h2 mt-1 mb-0">Editor toolbar & segmented controls</h1>
    </div>

    <div class="wdw-card overflow-hidden">
      <div class="d-flex flex-wrap align-items-center justify-content-between gap-3 p-3 border-bottom">
        <div class="btn-group bg-pill-group" role="group" aria-label="Editor view" data-bg-single data-bg-view>
          <button type="button" class="btn" aria-pressed="true" data-view="rich">Rich text</button>
          <button type="button" class="btn" aria-pressed="false" data-view="md">Markdown</button>
          <button type="button" class="btn" aria-pressed="false" data-view="html">HTML</button>
        </div>
        <div class="btn-group" role="group" aria-label="Publish">
          <button type="button" class="btn btn-outline-secondary"><i class="bi bi-send"></i> Publish</button>
          <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false" aria-label="More publish options"></button>
          <ul class="dropdown-menu dropdown-menu-end">
            <li><a class="dropdown-item" href="#">Publish now</a></li>
            <li><a class="dropdown-item" href="#">Schedule</a></li>
            <li><hr class="dropdown-divider"></li>
            <li><a class="dropdown-item" href="#">Save as draft</a></li>
          </ul>
        </div>
      </div>

      <div class="btn-toolbar gap-3 px-3 py-3 bg-body-tertiary border-bottom" role="toolbar" aria-label="Formatting">
        <div class="btn-group bg-seg" role="group" aria-label="Text style">
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-bg-toggle data-fmt="bold" aria-label="Bold"><i class="bi bi-type-bold"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-bg-toggle data-fmt="italic" aria-label="Italic"><i class="bi bi-type-italic"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-bg-toggle data-fmt="underline" aria-label="Underline"><i class="bi bi-type-underline"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-bg-toggle data-fmt="link" aria-label="Link"><i class="bi bi-link-45deg"></i></button>
        </div>
        <div class="btn-group bg-seg" role="group" aria-label="Text alignment" data-bg-single data-bg-align>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="true" data-align="start" aria-label="Align left"><i class="bi bi-text-left"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-align="center" aria-label="Align center"><i class="bi bi-text-center"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-align="end" aria-label="Align right"><i class="bi bi-text-right"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-align="justify" aria-label="Justify"><i class="bi bi-justify"></i></button>
        </div>
        <div class="btn-group bg-seg" role="group" aria-label="Lists" data-bg-exclusive>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-bg-toggle data-fmt="ul" aria-label="Bulleted list"><i class="bi bi-list-ul"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false" data-bg-toggle data-fmt="ol" aria-label="Numbered list"><i class="bi bi-list-ol"></i></button>
        </div>
      </div>

      <div class="p-4 bg-ed-body" id="bgPreview" aria-live="polite">
        <h2 class="h5 fw-bold mb-2">Launch notes</h2>
        <div id="bgText" class="bg-ed-text">
          <p class="mb-0">Button groups keep related actions together. Toggle a style above and this preview updates instantly.</p>
        </div>
      </div>

      <div class="d-flex flex-wrap align-items-center justify-content-between gap-3 px-3 py-3 border-top">
        <div class="btn-group btn-group-sm" role="group" aria-label="Pages">
          <button type="button" class="btn btn-outline-secondary" aria-label="Previous"><i class="bi bi-chevron-left"></i></button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false">1</button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="true">2</button>
          <button type="button" class="btn btn-outline-secondary" aria-pressed="false">3</button>
          <button type="button" class="btn btn-outline-secondary" aria-label="Next"><i class="bi bi-chevron-right"></i></button>
        </div>
        <div class="btn-group btn-group-sm" role="group" aria-label="Actions">
          <button type="button" class="btn btn-outline-secondary"><i class="bi bi-star"></i> Star</button>
          <button type="button" class="btn btn-outline-secondary"><i class="bi bi-share"></i> Share</button>
        </div>
      </div>
    </div>
  </div>
</section>

Built on Bootstrap 5.3.8 with plain JavaScript — no jQuery. Supports light and dark mode via data-bs-theme.

Free to use in personal and commercial projects under the MIT license.