Tag: Lesson 12: Cards

  • Lesson 12: Cards, Accordions & Progress Bars in Bootstrap

    📌 Objective: Learn how to use Bootstrap’s Cards, Accordions, and Progress Bars to create structured content layouts, collapsible sections, and visual progress indicators.


    🔹 1. Introduction to Cards, Accordions & Progress Bars

    Bootstrap provides pre-styled UI components to enhance the visual structure of your website.

    💡 Why Use These Components?
    ✔️ Cards help create flexible content containers with images, text, and buttons.
    ✔️ Accordions allow collapsible sections for FAQs and hidden content.
    ✔️ Progress Bars visually indicate loading, downloads, or task progress.


    🔹 2. Bootstrap Cards

    Cards are versatile content containers that can include titles, text, images, buttons, and footers.

    1️⃣ Basic Card Structure

    Example: Simple Card

    html
    <div class="container">
    <div class="card" style="width: 18rem;">
    <img src="https://via.placeholder.com/150" class="card-img-top" alt="Placeholder Image">
    <div class="card-body">
    <h5 class="card-title">Card Title</h5>
    <p class="card-text">This is a basic Bootstrap card with an image, text, and a button.</p>
    <a href="#" class="btn btn-primary">Learn More</a>
    </div>
    </div>
    </div>

    🔹 What happens?

    • A styled card appears with an image, title, text, and button.

    2️⃣ Cards with Headers & Footers

    Example: Adding Headers & Footers

    html
    <div class="card">
    <div class="card-header">Featured</div>
    <div class="card-body">
    <h5 class="card-title">Special Card</h5>
    <p class="card-text">This card has a header and a footer.</p>
    </div>
    <div class="card-footer text-muted">Updated 2 days ago</div>
    </div>

    🔹 What happens?

    • A header and footer appear inside the card.

    3️⃣ Card Grid Layout

    You can align multiple cards in a row using Bootstrap’s grid system.

    Example: Card Columns

    html
    <div class="container">
    <div class="row">
    <div class="col-md-4">
    <div class="card">
    <div class="card-body">
    <h5 class="card-title">Card 1</h5>
    <p class="card-text">This is the first card.</p>
    </div>
    </div>
    </div>
    <div class="col-md-4">
    <div class="card">
    <div class="card-body">
    <h5 class="card-title">Card 2</h5>
    <p class="card-text">This is the second card.</p>
    </div>
    </div>
    </div>
    <div class="col-md-4">
    <div class="card">
    <div class="card-body">
    <h5 class="card-title">Card 3</h5>
    <p class="card-text">This is the third card.</p>
    </div>
    </div>
    </div>
    </div>
    </div>

    🔹 What happens?

    • The three cards are displayed in a row on larger screens and stacked on small screens.

    🔹 3. Bootstrap Accordions

    Accordions create collapsible sections, perfect for FAQs and content toggles.

    1️⃣ Basic Accordion Structure

    Example: Simple Accordion

    html
    <div class="container">
    <div class="accordion" id="accordionExample">
    <div class="accordion-item">
    <h2 class="accordion-header">
    <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne">
    Accordion Item #1
    </button>
    </h2>
    <div id="collapseOne" class="accordion-collapse collapse show" data-bs-parent="#accordionExample">
    <div class="accordion-body">
    This is the content of the first accordion panel.
    </div>
    </div>
    </div>
    </div>
    </div>

    🔹 What happens?

    • The first panel is expanded by default, and clicking toggles it.

    2️⃣ Multiple Accordion Items

    Example: Multi-Item Accordion

    html
    <div class="accordion" id="faqAccordion">
    <div class="accordion-item">
    <h2 class="accordion-header">
    <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#faq1">
    Question 1
    </button>
    </h2>
    <div id="faq1" class="accordion-collapse collapse show" data-bs-parent="#faqAccordion">
    <div class="accordion-body">Answer to Question 1.</div>
    </div>
    </div>
    <div class="accordion-item">
    <h2 class="accordion-header">
    <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq2">
    Question 2
    </button>
    </h2>
    <div id="faq2" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
    <div class="accordion-body">Answer to Question 2.</div>
    </div>
    </div>
    </div>

    🔹 What happens?

    • Each accordion collapses when another is opened, creating an FAQ-style effect.

    🔹 4. Bootstrap Progress Bars

    Progress bars visually indicate task completion or loading progress.

    1️⃣ Basic Progress Bar

    Example: Simple Progress Bar

    html
    <div class="container">
    <div class="progress">
    <div class="progress-bar" style="width: 50%;">50%</div>
    </div>
    </div>

    🔹 What happens?

    • A progress bar fills up 50% of its width.

    2️⃣ Colored Progress Bars

    Example: Adding Color

    html
    <div class="progress">
    <div class="progress-bar bg-success" style="width: 75%;">75%</div>
    </div>

    🔹 What happens?

    • The progress bar turns green (bg-success).

    3️⃣ Striped & Animated Progress Bars

    Example: Striped & Animated Progress Bar

    html
    <div class="progress">
    <div class="progress-bar progress-bar-striped progress-bar-animated bg-warning" style="width: 60%;">Loading...</div>
    </div>

    🔹 What happens?

    • The progress bar animates while filling up.

    📝 Lesson Recap Quiz

    🎯 Test your understanding of Bootstrap Cards, Accordions & Progress Bars.

    📌 Multiple-Choice Questions (MCQs)

    1️⃣ What class is used to create a Bootstrap card?
    a) .bootstrap-card
    b) .card
    c) .card-container
    d) .box

    Correct Answer: b) .card


    2️⃣ What attribute makes an accordion collapse when another opens?
    a) data-bs-close
    b) data-bs-toggle="collapse"
    c) data-bs-parent="#accordionExample"
    d) data-bs-accordion

    Correct Answer: c) data-bs-parent="#accordionExample"


    3️⃣ How can you animate a Bootstrap progress bar?
    a) .progress-animate
    b) .progress-bar-moving
    c) .progress-bar-striped progress-bar-animated
    d) .progress-speed

    Correct Answer: c) .progress-bar-striped progress-bar-animated


    📌 True or False

    4️⃣ Bootstrap cards can contain images, text, and buttons.
    Answer: True

    5️⃣ The .progress-bar class is required to display a progress bar.
    Answer: True


    🎯 Practical Challenge

    ✅ Create a card with an image, title, and button.
    ✅ Build an FAQ section using an accordion.
    ✅ Create a striped animated progress bar at 80%.
    ✅ Post your solution in the discussion forum for feedback!


    🎓 Lesson Summary

    Cards (.card) structure content with images, text, and buttons.
    Accordions (.accordion) create collapsible sections.
    Progress bars (.progress-bar) visually represent loading and completion status.