Spinners
Indicate the loading state of a component or page with boodoo spinners, built entirely with HTML, CSS, and no JavaScript.
Border spinner
Use the border spinners for a lightweight loading indicator.
Loading...
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
Colors
Loading...
Loading...
Loading...
Loading...
Loading...
<div class="spinner-border text-primary" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-border text-success" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-border text-danger" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-border text-warning" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-border text-info" role="status"><span class="visually-hidden">Loading...</span></div>
Growing spinner
Use the .spinner-grow for a pulsing, growing indicator.
Loading...
Loading...
Loading...
<div class="spinner-grow text-primary" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-grow text-success" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-grow text-danger" role="status"><span class="visually-hidden">Loading...</span></div>
Size
Use .spinner-border-sm, .spinner-border-lg, .spinner-grow-sm, .spinner-grow-lg, or configure custom sizes via CSS.
Loading...
Loading...
Loading...
<div class="spinner-border spinner-border-sm" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-border" role="status"><span class="visually-hidden">Loading...</span></div>
<div class="spinner-border spinner-border-lg" role="status"><span class="visually-hidden">Loading...</span></div>
Buttons
Use spinners within buttons to indicate an action is processing. The .btn-loading convenience class adds
a spinner to any button while preserving its width.
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-border spinner-border-sm" aria-hidden="true"></span>
<span class="visually-hidden">Loading...</span>
</button>
<!-- CSS-only loading state -->
<button type="button" class="btn btn-primary btn-loading">Saving...</button>