Bird
Raised Fist0
Bootsrapmarkup~5 mins

Card images and overlays in Bootsrap

Choose your learning style10 modes available
Introduction

Card images and overlays help you show pictures with text or buttons on top. This makes your content look nice and easy to understand.

You want to show a photo with a title or description on top.
You need a button or link over an image for quick actions.
You want to highlight important info on a picture.
You want a stylish card with text that stands out on an image.
Syntax
Bootsrap
<div class="card bg-dark text-white">
  <img src="image.jpg" class="card-img" alt="...">
  <div class="card-img-overlay">
    <h5 class="card-title">Card title</h5>
    <p class="card-text">Some overlay text.</p>
  </div>
</div>

The card-img class makes the image fill the card.

The card-img-overlay class places text on top of the image.

Examples
This example shows a card with a dark background and white text overlay on the image.
Bootsrap
<div class="card bg-dark text-white">
  <img src="https://via.placeholder.com/300x200" class="card-img" alt="Sample Image">
  <div class="card-img-overlay">
    <h5 class="card-title">Overlay Title</h5>
    <p class="card-text">Overlay text on image.</p>
  </div>
</div>
This example shows a card with an image on top and text below it, not overlaid.
Bootsrap
<div class="card">
  <img src="https://via.placeholder.com/300x200" class="card-img-top" alt="Sample Image">
  <div class="card-body">
    <h5 class="card-title">Card Title</h5>
    <p class="card-text">Text below the image, not overlay.</p>
  </div>
</div>
This example uses flexbox utilities to place overlay text at the bottom of the image.
Bootsrap
<div class="card bg-primary text-white">
  <img src="https://via.placeholder.com/300x200" class="card-img" alt="Sample Image">
  <div class="card-img-overlay d-flex flex-column justify-content-end">
    <h5 class="card-title">Bottom Overlay</h5>
    <p class="card-text">Text aligned at the bottom of the image.</p>
  </div>
</div>
Sample Program

This complete example shows a card with a dark overlay on an image. The text and a button appear on top of the image, centered vertically. The button has an accessible label.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Bootstrap Card Image Overlay Example</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
  <main class="container py-4">
    <h2 class="mb-4">Card with Image and Overlay</h2>
    <div class="card bg-dark text-white" style="max-width: 300px;">
      <img src="https://via.placeholder.com/300x200" class="card-img" alt="Sample Image">
      <div class="card-img-overlay d-flex flex-column justify-content-center">
        <h5 class="card-title">Beautiful View</h5>
        <p class="card-text">This is an example of text over an image.</p>
        <a href="#" class="btn btn-light btn-sm mt-2" aria-label="Learn more about Beautiful View">Learn More</a>
      </div>
    </div>
  </main>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
OutputSuccess
Important Notes

Use alt text on images for accessibility.

Overlay text color should contrast well with the image for readability.

Use Bootstrap utility classes like d-flex and justify-content-center to position overlay content easily.

Summary

Card images with overlays let you place text or buttons on top of pictures.

Use card-img for the image and card-img-overlay for the overlay content.

Make sure overlay text is readable and accessible.

Practice

(1/5)
1. What is the purpose of the card-img-overlay class in Bootstrap cards?
easy
A. To add a border around the card image
B. To place text or content on top of the card image
C. To resize the card image automatically
D. To add a shadow effect to the card image

Solution

  1. Step 1: Understand the role of card-img-overlay

    This class is used to add content that appears over the card image, such as text or buttons.
  2. Step 2: Compare with other options

    Other options describe effects or styles not related to overlays, so they are incorrect.
  3. Final Answer:

    To place text or content on top of the card image -> Option B
  4. Quick Check:

    Overlay content = card-img-overlay = B [OK]
Hint: Overlay means content on top of image [OK]
Common Mistakes:
  • Confusing overlay with image resizing
  • Thinking overlay adds borders or shadows
  • Ignoring that overlay is for layering content
2. Which of the following is the correct way to add an image inside a Bootstrap card with an overlay?
easy
A.
Text
B.
Text
C.
Text
D.
Text

Solution

  1. Step 1: Check correct structure for image and overlay

    The image uses card-img class and the overlay content uses card-img-overlay inside the card container.
  2. Step 2: Validate
    Text
    structure

    Text
    correctly places the image first with card-img and overlay div after with card-img-overlay.
  3. Final Answer:

    <div class='card'><img src='img.jpg' class='card-img'><div class='card-img-overlay'>Text</div></div> -> Option D
  4. Quick Check:

    Image class = card-img, Overlay class = card-img-overlay [OK]
Hint: Image gets card-img, overlay gets card-img-overlay [OK]
Common Mistakes:
  • Putting overlay class on the image tag
  • Placing overlay outside the card container
  • Mixing up class names between image and overlay
3. What will be the visual result of this code?
<div class='card' style='width: 18rem;'>
  <img src='photo.jpg' class='card-img' alt='Sample Image'>
  <div class='card-img-overlay'>
    <h5 class='card-title'>Hello</h5>
    <p class='card-text'>Overlay text</p>
  </div>
</div>
medium
A. A card with the image and text displayed on top of the image
B. A card with the image below and text below the image
C. Only the text is visible, image is hidden
D. The image is stretched and text is outside the card

Solution

  1. Step 1: Understand card-img and card-img-overlay behavior

    The image fills the card area and the overlay places text on top of the image.
  2. Step 2: Visualize the overlay content

    The card-img-overlay content appears layered on the image, so text is visible over the picture.
  3. Final Answer:

    A card with the image and text displayed on top of the image -> Option A
  4. Quick Check:

    Overlay text on image = card-img-overlay = C [OK]
Hint: Overlay means text appears on top of image [OK]
Common Mistakes:
  • Thinking overlay text appears below image
  • Assuming image is hidden by overlay
  • Confusing overlay with separate card sections
4. Identify the error in this Bootstrap card code:
<div class='card'>
  <div class='card-img-overlay'>Overlay Text</div>
  <img src='pic.jpg' class='card-img' alt='Pic'>
</div>
medium
A. The card-img-overlay class should be on the image tag
B. The image tag should not have the class 'card-img'
C. The overlay div should come after the image tag inside the card
D. The card div is missing a width style

Solution

  1. Step 1: Check the order of image and overlay

    The overlay content must come after the image tag to appear on top visually.
  2. Step 2: Verify class usage

    The image should have card-img and overlay a separate div with card-img-overlay. The order matters for layering.
  3. Final Answer:

    The overlay div should come after the image tag inside the card -> Option C
  4. Quick Check:

    Overlay after image = layering correct = A [OK]
Hint: Overlay must be after image tag for layering [OK]
Common Mistakes:
  • Placing overlay before image causing hidden text
  • Misusing classes on wrong elements
  • Ignoring layering order in HTML structure
5. You want to create a Bootstrap card with a dark semi-transparent overlay on the image and white text on top. Which approach is best?
hard
A. Use card-img for the image, card-img-overlay with a custom CSS class adding a dark background with opacity, and white text classes
B. Add a dark filter directly on the image tag and place text below the image
C. Use only card-img-overlay with a dark background but no image tag
D. Place the image inside card-img-overlay and add white text inside the image tag

Solution

  1. Step 1: Understand layering with card-img and card-img-overlay

    The image uses card-img and overlay content uses card-img-overlay for layering text on image.
  2. Step 2: Add dark semi-transparent background and white text

    Custom CSS on card-img-overlay can add a dark background with opacity. White text classes ensure readability.
  3. Final Answer:

    Use card-img for image, card-img-overlay with custom dark background and white text -> Option A
  4. Quick Check:

    Overlay + custom dark bg + white text = D [OK]
Hint: Overlay div with semi-transparent bg and white text works best [OK]
Common Mistakes:
  • Trying to filter image without overlay div
  • Placing image inside overlay div incorrectly
  • Not adding text color for contrast
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard