Spinners

Back

Loading concept...

🎡 Bootstrap Spinners: The Waiting Dance

Imagine you’re at a restaurant. You order your food, and the waiter says “Coming right up!” But how do you know they’re still working on it? They give you a little sign—maybe a thumbs up or a nod. That’s exactly what spinners do for your website!


🌟 What Are Spinners?

Spinners are little spinning circles that tell your users: “Hold on! Something is loading!”

Think of them like the spinning wheel you see when a video is buffering. They’re Bootstrap’s way of saying:

“Don’t worry, I’m working on it! Just give me a second!” 🔄

Without spinners, users might think your website is broken. With spinners, they know to wait patiently.


🔵 Spinner Border: The Classic Spinner

The Spinner Border is like a spinning hula hoop! It’s a circle with a gap that goes round and round.

How It Looks

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

What Each Part Does

Part What It Does
spinner-border Creates the spinning circle
role="status" Tells screen readers this is important
visually-hidden Hidden text for blind users

🎯 Simple Analogy

Imagine a clock with only one hand, and that hand spins super fast! That’s your spinner-border.

graph TD A["User Clicks Button"] --> B["Spinner Appears"] B --> C["Data Loads"] C --> D["Spinner Disappears"] D --> E["Content Shows!"]

💫 Spinner Grow: The Pulsing Dot

Spinner Grow is different! Instead of spinning, it pulses—getting bigger and smaller, bigger and smaller.

How It Looks

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

🎯 Simple Analogy

Think of a heartbeat! ❤️ The spinner grows and shrinks like a heart pumping. It’s gentle and mesmerizing.

Border vs Grow: Quick Compare

Spinner Border Spinner Grow
Spins around 🔄 Pulses in/out 💓
Active feeling Calm feeling
Like a wheel Like a heartbeat

🎨 Spinner Colors: Rainbow of Options

Why be boring with just gray? Bootstrap lets you color your spinners!

All the Colors You Can Use

<!-- Blue - Primary -->
<div class="spinner-border
     text-primary"></div>

<!-- Gray - Secondary -->
<div class="spinner-border
     text-secondary"></div>

<!-- Green - Success -->
<div class="spinner-border
     text-success"></div>

<!-- Red - Danger -->
<div class="spinner-border
     text-danger"></div>

<!-- Yellow - Warning -->
<div class="spinner-border
     text-warning"></div>

<!-- Teal - Info -->
<div class="spinner-border
     text-info"></div>

<!-- Light Gray - Light -->
<div class="spinner-border
     text-light"></div>

<!-- Black - Dark -->
<div class="spinner-border
     text-dark"></div>

🎯 Color Meanings

Color When to Use
🔵 Primary Normal loading
✅ Success Almost done!
🔴 Danger Something might fail
⚠️ Warning Taking longer than usual
ℹ️ Info Just checking something

Colors Work on Grow Too!

<div class="spinner-grow
     text-success"></div>

<div class="spinner-grow
     text-danger"></div>

📏 Spinner Sizes: Big and Small

Sometimes you need a tiny spinner. Sometimes you need a BIG one. Bootstrap has you covered!

Small Spinners (Using Classes)

<!-- Small Border Spinner -->
<div class="spinner-border
     spinner-border-sm"></div>

<!-- Small Grow Spinner -->
<div class="spinner-grow
     spinner-grow-sm"></div>

Custom Sizes (Using Styles)

<!-- Tiny (1rem) -->
<div class="spinner-border"
     style="width: 1rem;
            height: 1rem;">
</div>

<!-- Big (3rem) -->
<div class="spinner-border"
     style="width: 3rem;
            height: 3rem;">
</div>

<!-- Giant (5rem) -->
<div class="spinner-border"
     style="width: 5rem;
            height: 5rem;">
</div>

🎯 When to Use Each Size

graph TD A["What Size Spinner?"] --> B{Where is it?} B --> C["Inside a button"] C --> D["Use SMALL spinner-sm"] B --> E["Center of page"] E --> F["Use NORMAL or BIG"] B --> G["Next to text"] G --> H["Use SMALL or NORMAL"]
Size Best For
Small (sm) Inside buttons, inline text
Normal General loading areas
Large (custom) Full-page loading screens

🔘 Spinner Buttons: Loading in Action!

Here’s where spinners become REALLY useful! Put them inside buttons to show something is happening.

Basic Button with Spinner

<button class="btn btn-primary"
        disabled>
  <span class="spinner-border
        spinner-border-sm"></span>
  Loading...
</button>

Why disabled?

When something is loading, you don’t want users clicking again and again! The disabled makes the button unclickable.

Different Button Examples

<!-- Submitting a Form -->
<button class="btn btn-success"
        disabled>
  <span class="spinner-border
        spinner-border-sm"></span>
  Submitting...
</button>

<!-- Saving Data -->
<button class="btn btn-primary"
        disabled>
  <span class="spinner-grow
        spinner-grow-sm"></span>
  Saving...
</button>

<!-- Just Spinner, No Text -->
<button class="btn btn-warning"
        disabled>
  <span class="spinner-border
        spinner-border-sm"></span>
</button>

🎯 Real-Life Example

Imagine you’re buying something online:

graph TD A["Click &&#35;39;Buy Now&&#35;39;"] --> B["Button Shows Spinner"] B --> C["Text: &&#35;39;Processing...&&#35;39;"] C --> D["Payment Complete!"] D --> E["Spinner Gone"] E --> F["Success Message! 🎉"]

🏆 Quick Summary

Spinner Type Class Best For
Border spinner-border Active loading
Grow spinner-grow Calm loading
Small Add -sm Buttons, inline
Colored Add text-* Match your theme

The Complete Code Pattern

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

💡 Pro Tips

  1. Always add role="status" — Helps screen readers announce the spinner

  2. Always add hidden text — Blind users need to know something is loading

  3. Match colors to context — Use text-danger if an error might happen

  4. Use sm for buttons — Big spinners look weird inside buttons

  5. Disable buttons during loading — Prevents double-clicks and confusion


🎉 You Did It!

Now you know all about Bootstrap Spinners:

  • Spinner Border — The classic spinning circle
  • Spinner Grow — The pulsing heartbeat
  • Spinner Colors — 8 beautiful options
  • Spinner Sizes — From tiny to giant
  • Spinner Buttons — Loading states made easy

Go make your websites feel alive! 🚀

Loading story...

Story - Premium Content

Please sign in to view this story and start learning.

Upgrade to Premium to unlock full access to all stories.

Stay Tuned!

Story is coming soon.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.