Bootstrap docs

# Spinners

Indicate the loading state of a component or page.

#### Border spinner

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

    <!-- Default spinner -->
    <div class="spinner-border" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Gray spinner -->
    <div class="spinner-border text-body-tertiary" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Primary spinner -->
    <div class="spinner-border text-primary" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Secondary spinner -->
    <div class="spinner-border text-secondary" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Success spinner -->
    <div class="spinner-border text-success" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Danger spinner -->
    <div class="spinner-border text-danger" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Warning spinner -->
    <div class="spinner-border text-warning" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Info spinner -->
    <div class="spinner-border text-info" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Light spinner -->
    <div class="spinner-border text-light" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Dark spinner -->
    <div class="spinner-border text-dark" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

#### Growing spinner

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

    <!-- Default spinner -->
    <div class="spinner-grow" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Gray spinner -->
    <div class="spinner-grow text-body-tertiary" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Primary spinner -->
    <div class="spinner-grow text-primary" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Secondary spinner -->
    <div class="spinner-grow text-secondary" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Success spinner -->
    <div class="spinner-grow text-success" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Danger spinner -->
    <div class="spinner-grow text-danger" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Warning spinner -->
    <div class="spinner-grow text-warning" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Info spinner -->
    <div class="spinner-grow text-info" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Light spinner -->
    <div class="spinner-grow text-light" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Dark spinner -->
    <div class="spinner-grow text-dark" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

#### Sizing

Loading...
Loading...
Loading...
Loading...

    <!-- Small border spinner -->
    <div class="spinner-border spinner-border-sm" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Small growing spinner -->
    <div class="spinner-grow spinner-grow-sm" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Custom size border spinner -->
    <div class="spinner-border" style="width: 3rem; height: 3rem;" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

    <!-- Custom size growing spinner -->
    <div class="spinner-grow" style="width: 3rem; height: 3rem;" role="status">
      <span class="visually-hidden">Loading...</span>
    </div>

#### Inside button

    <!-- Button with border spinner -->
    <button type="button" class="btn btn-primary btn-icon pe-none">
      <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
      <span class="visually-hidden">Loading...</span>
    </button>

    <!-- Button with border spinner and text -->
    <button type="button" class="btn btn-primary pe-none">
      <span class="spinner-border spinner-border-sm me-2" role="status" aria-hidden="true"></span>
      Loading...
    </button>

    <!-- Button with growing spinner -->
    <button type="button" class="btn btn-outline-secondary btn-icon pe-none">
      <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
      <span class="visually-hidden">Loading...</span>
    </button>

    <!-- Button with growing spinner and text -->
    <button type="button" class="btn btn-outline-secondary pe-none">
      <span class="spinner-grow spinner-grow-sm me-2" role="status" aria-hidden="true"></span>
      Loading...
    </button>

Top