Progress Bar

Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.

Example

Default progress bar







 
<div class="progress">
  <div
    class="progress-bar"
    role="progressbar"
    style="width: 25%"
    aria-valuenow="25"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>
<br/>
<div class="progress">
  <div
    class="progress-bar bg-secondary"
    role="progressbar"
    style="width: 50%"
    aria-valuenow="50"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>
<br/>
<div class="progress">
  <div
    class="progress-bar bg-success"
    role="progressbar"
    style="width: 75%"
    aria-valuenow="75"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>
<br/>
<div class="progress">
  <div
    class="progress-bar bg-warning"
    role="progressbar"
    style="width: 25%"
    aria-valuenow="25"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>
<br/>
<div class="progress">
  <div
    class="progress-bar bg-danger"
    role="progressbar"
    style="width: 50%"
    aria-valuenow="50"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>
<br/>
<div class="progress">
  <div
    class="progress-bar bg-info"
    role="progressbar"
    style="width: 75%"
    aria-valuenow="75"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>
<br/>
<div class="progress">
  <div
    class="progress-bar bg-dark"
    role="progressbar"
    style="width: 25%"
    aria-valuenow="25"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>

        

With label

50%

 
<div class="progress">
  <div
    class="progress-bar"
    role="progressbar"
    style="width: 50%"
    aria-valuenow="50"
    aria-valuemin="0"
    aria-valuemax="100"
  >
    50%
  </div>
</div>

        

Striped progress bar

 
<div class="progress">
  <div
    class="progress-bar progress-bar-striped"
    role="progressbar"
    style="width: 50%"
    aria-valuenow="50"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>

        

Animated progress bar

 
<div class="progress">
  <div
    class="progress-bar progress-bar-striped progress-bar-animated"
    role="progressbar"
    style="width: 50%"
    aria-valuenow="50"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>

        

Stacked progress bar

 
<div class="progress">
  <div
    class="progress-bar"
    role="progressbar"
    style="width: 15%"
    aria-valuenow="15"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
  <div
    class="progress-bar bg-success"
    role="progressbar"
    style="width: 30%"
    aria-valuenow="30"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
  <div
    class="progress-bar bg-info"
    role="progressbar"
    style="width: 20%"
    aria-valuenow="20"
    aria-valuemin="0"
    aria-valuemax="100"
  >
  </div>
</div>

        

Anatomy

Progress Bar Anatomy
  1. Indicator: Tells the users how far along in a process they are in.

Usage guidelines

Progress bar should be used:

  • When you want to show users where they are in a process.
  • When a user is uploading or downloading a file.

Progress bar should not be used:

  • As an indicator when users are navigating from page to page.

Usability guidelines

Keeps progress bars moving
This allows users to know that their task is progressing. Users may associate a stationary indicator as a stalled process.

Use consistent progress bars
Do use one type of indicator bar style and not switch between as this may cause confusion to the user.

Progress Bar design tokens

$progress-height: 1rem !default;
$progress-font-size: $font-size-base * 0.75 !default;
$progress-bg: $gray-200 !default;
$progress-border-radius: $border-radius !default;
$progress-box-shadow: $box-shadow-inset !default;
$progress-bar-color: $white !default;
$progress-bar-bg: $primary !default;
$progress-bar-animation-timing: 1s linear infinite !default;
$progress-bar-transition: width 0.6s ease !default;
Home


Previous version 1.0.3