Progress
Custom progress bars featuring support for stacked bars, animated backgrounds, and text labels.
Color variation (thick)
<!-- Primary progress bar -->
<div class="progress mb-3">
<div class="progress-bar" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100">
45%
</div>
</div>
<!-- Accent progress bar -->
<div class="progress mb-3">
<div class="progress-bar bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
60%
</div>
</div>
<!-- Success progress bar -->
<div class="progress mb-3">
<div class="progress-bar bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100">
55%
</div>
</div>
<!-- Danger progress bar -->
<div class="progress mb-3">
<div class="progress-bar bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
40%
</div>
</div>
<!-- Warning progress bar -->
<div class="progress mb-3">
<div class="progress-bar bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100">
70%
</div>
</div>
<!-- Info progress bar -->
<div class="progress mb-3">
<div class="progress-bar bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
60%
</div>
</div>
<!-- Dark progress bar -->
<div class="progress mb-3">
<div class="progress-bar bg-dark" role="progressbar" style="width: 33%" aria-valuenow="33" aria-valuemin="0" aria-valuemax="100">
33%
</div>
</div>
// Primary progress bar
.progress.mb-3
.progress-bar(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")
| 45%
// Accent progress bar
.progress.mb-3
.progress-bar.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
| 60%
// Success progress bar
.progress.mb-3
.progress-bar.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")
| 55%
// Danger progress bar
.progress.mb-3
.progress-bar.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")
| 40%
// Warning progress bar
.progress.mb-3
.progress-bar.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")
| 70%
// Info progress bar
.progress.mb-3
.progress-bar.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
| 60%
// Dark progress bar
.progress.mb-3
.progress-bar.bg-dark(role="progressbar", style="width: 33%", aria-valuenow="33", aria-valuemin="0", aria-valuemax="100")
| 33%
Color variation (thin)
45%
60%
55%
40%
70%
60%
33%
<!-- Primary progress bar -->
<div class="fs-sm mb-2">45%</div>
<div class="progress mb-3" style="height: 4px;">
<div class="progress-bar" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Accent progress bar -->
<div class="fs-sm mb-2">60%</div>
<div class="progress mb-3" style="height: 4px;">
<div class="progress-bar bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Success progress bar -->
<div class="fs-sm mb-2">55%</div>
<div class="progress mb-3" style="height: 4px;">
<div class="progress-bar bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Danger progress bar -->
<div class="fs-sm mb-2">40%</div>
<div class="progress mb-3" style="height: 4px;">
<div class="progress-bar bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Warning progress bar -->
<div class="fs-sm mb-2">70%</div>
<div class="progress mb-3" style="height: 4px;">
<div class="progress-bar bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Info progress bar -->
<div class="fs-sm mb-2">60%</div>
<div class="progress mb-3" style="height: 4px;">
<div class="progress-bar bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Dark progress bar -->
<div class="fs-sm mb-2">33%</div>
<div class="progress mb-3" style="height: 4px;">
<div class="progress-bar bg-dark" role="progressbar" style="width: 33%" aria-valuenow="33" aria-valuemin="0" aria-valuemax="100"></div>
</div>
// Primary progress bar
.fs-sm.mb-2
| 45%
.progress.mb-3(style="height: 4px;")
.progress-bar(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")
// Accent progress bar
fs-sm.mb-2
| 60%
.progress.mb-3(style="height: 4px;")
.progress-bar.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
// Success progress bar
fs-sm.mb-2
| 55%
.progress.mb-3(style="height: 4px;")
.progress-bar.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")
// Danger progress bar
fs-sm.mb-2
| 40%
.progress.mb-3(style="height: 4px;")
.progress-bar.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")
// Warning progress bar
.fs-sm.mb-2
| 70%
.progress.mb-3(style="height: 4px;")
.progress-bar.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")
// Info progress bar
.fs-sm.mb-2
| 60%
.progress.mb-3(style="height: 4px;")
.progress-bar.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
// Dark progress bar
.fs-sm.mb-2
| 33%
.progress(style="height: 4px;")
.progress-bar.bg-dark(role="progressbar", style="width: 33%", aria-valuenow="33", aria-valuemin="0", aria-valuemax="100")
Multiple bars
<!-- Thick bars -->
<div class="progress mb-3">
<div class="progress-bar bg-info" role="progressbar" style="width: 15%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar" role="progressbar" style="width: 10%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar bg-success" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar bg-warning" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Thin bars -->
<div class="progress mb-3" style="height: 2px;">
<div class="progress-bar bg-warning" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar bg-info" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar bg-danger" role="progressbar" style="width: 10%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar bg-success" role="progressbar" style="width: 15%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
</div>
// Thick bars
.progress.mb-3
.progress-bar.bg-info(role="progressbar", style="width: 15%", aria-valuenow="15", aria-valuemin="0", aria-valuemax="100")
.progress-bar(role="progressbar", style="width: 10%", aria-valuenow="10", aria-valuemin="0", aria-valuemax="100")
.progress-bar.bg-success(role="progressbar", style="width: 20%", aria-valuenow="20", aria-valuemin="0", aria-valuemax="100")
.progress-bar.bg-warning(role="progressbar", style="width: 25%", aria-valuenow="25", aria-valuemin="0", aria-valuemax="100")
// Thin bars
.progress.mb-3(style="height:2px;")
.progress-bar.bg-warning(role="progressbar", style="width: 20%", aria-valuenow="20", aria-valuemin="0", aria-valuemax="100")
.progress-bar.bg-info(role="progressbar", style="width: 25%", aria-valuenow="25", aria-valuemin="0", aria-valuemax="100")
.progress-bar.bg-danger(role="progressbar", style="width: 10%", aria-valuenow="10", aria-valuemin="0", aria-valuemax="100")
.progress-bar.bg-success(role="progressbar", style="width: 15%", aria-valuenow="15", aria-valuemin="0", aria-valuemax="100")
Animated striped bars
<!-- Striped primary progress bar -->
<div class="progress mb-3">
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Striped accent progress bar -->
<div class="progress mb-3">
<div class="progress-bar progress-bar-striped progress-bar-animated bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Striped success progress bar -->
<div class="progress mb-3">
<div class="progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Striped danger progress bar -->
<div class="progress mb-3">
<div class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Striped warning progress bar -->
<div class="progress mb-3">
<div class="progress-bar progress-bar-striped progress-bar-animated bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Striped info progress bar -->
<div class="progress mb-3">
<div class="progress-bar progress-bar-striped progress-bar-animated bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<!-- Striped dark progress bar -->
<div class="progress mb-3">
<div class="progress-bar progress-bar-striped progress-bar-animated bg-dark" role="progressbar" style="width: 33%" aria-valuenow="33" aria-valuemin="0" aria-valuemax="100"></div>
</div>
// Striped primary progress bar
.progress.mb-3
.progress-bar.progress-bar-striped.progress-bar-animated(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")
// Striped accent progress bar
.progress.mb-3
.progress-bar.progress-bar-striped.progress-bar-animated.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
// Striped success progress bar
.progress.mb-3
.progress-bar.progress-bar-striped.progress-bar-animated.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")
// Striped danger progress bar
.progress.mb-3
.progress-bar.progress-bar-striped.progress-bar-animated.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")
// Striped warning progress bar
.progress.mb-3
.progress-bar.progress-bar-striped.progress-bar-animated.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")
// Striped info progress bar
.progress.mb-3
.progress-bar.progress-bar-striped.progress-bar-animated.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
// Striped dark progress bar
.progress.mb-3
.progress-bar.progress-bar-striped.progress-bar-animated.bg-dark(role="progressbar", style="width: 33%", aria-valuenow="33", aria-valuemin="0", aria-valuemax="100")
Light version
<!-- Primary progress bar -->
<div class="progress progress-light mb-3">
<div class="progress-bar" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100">
45%
</div>
</div>
<!-- Accent progress bar -->
<div class="progress progress-light mb-3">
<div class="progress-bar bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
60%
</div>
</div>
<!-- Success progress bar -->
<div class="progress progress-light mb-3">
<div class="progress-bar bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100">
55%
</div>
</div>
<!-- Danger progress bar -->
<div class="progress progress-light mb-3">
<div class="progress-bar bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
40%
</div>
</div>
<!-- Warning progress bar -->
<div class="progress progress-light mb-3">
<div class="progress-bar bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100">
70%
</div>
</div>
<!-- Info progress bar -->
<div class="progress progress-light mb-3">
<div class="progress-bar bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
60%
</div>
</div>
// Primary progress bar
.progress.progress-light.mb-3
.progress-bar(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")
| 45%
// Accent progress bar
.progress.progress-light.mb-3
.progress-bar.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
| 60%
// Success progress bar
.progress.progress-light.mb-3
.progress-bar.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")
| 55%
// Danger progress bar
.progress.progress-light.mb-3
.progress-bar.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")
| 40%
// Warning progress bar
.progress.progress-light.mb-3
.progress-bar.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")
| 70%
// Info progress bar
.progress.progress-light.mb-3
.progress-bar.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
| 60%