Interactive Glass Effect Image Cards with HTML and CSS Source Code

Interactive Glass Effect Image Cards with HTML and CSS Source Code
December 15, 2023

Are you looking to spice up your website with some visually appealing and interactive elements? Image cards with a glass effect could be just what you need!

In this article, I'm going to walk you through a simple yet effective code I've used to create stunning image cards with a hover animation. This is perfect for beginners and anyone looking to add a touch of elegance to their web design.

Why Use Glass Effect Cards?

1. Visual Appeal: Glass effect cards have a sleek, modern look that can make any website look more professional and engaging.

2. User Interaction: The hover animation adds an interactive element, encouraging users to engage with your content.

3. Versatility: They can be used for various purposes, like showcasing products, team members, or portfolio pieces.

The Code Breakdown

Let's dissect the code, step by step, to understand how it all comes together.

Setting the Stage: The HTML Structure

<div class="card-container">
    <div class="card">
        <img src="image_link" class="card-image" alt="Model 1">
        <div class="card-info">
            <h3 class="card-title">Name</h3>
            <p class="card-description">Description.</p>
        </div>
    </div>
    <!-- Repeat for other cards -->
</div>

What's Happening Here?

  • <div class="card-container">: This container holds all your cards. It's like a shelf for your beautiful glass pieces.
  • <div class="card">: Each card is wrapped in this div. Think of it as an individual frame for each piece of content.
  • <img>: Here's where your image goes. Replace image_link with your preferred image URL.
  • <div class="card-info">: This contains your text - a title and a description.

Bringing Style to Life: The CSS Magic

.card-container {
    display: flex;
    gap: 20px;
}
.card {
    transition: transform 0.5s ease, box-shadow 0.5s ease;
}
.card:hover {
    transform: translateY(-10px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.card-image {
    transition: filter 0.5s ease;
    border-radius: 15px;
}
.card-info {
    transition: bottom 0.5s ease;
    opacity: 0;
}
.card:hover .card-info {
    bottom: 0;
    opacity: 1;
}

Key Elements:

  • Flexbox (display: flex): This makes it easy to align your cards neatly in a row.
  • Transitions: They provide the smooth animation effect when you hover over the cards.
  • Hover Effects: Changing transform and box-shadow on hover gives that 'lifting' illusion.
  • Glass Effect: backdrop-filter: blur(10px); in .card-info creates a frosted glass look.

What Makes It Special?

The combination of hover animations and the glass effect creates a dynamic user experience. When you hover over a card, it not only lifts but also reveals more information, making the interaction feel natural and intuitive.

Complete Source Code

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Glass Effect Image Cards</title>
<style>
    body {
        margin: 0;
        font-family: Arial, sans-serif;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        background: #f0f0f0;
    }
    .card-container {
        display: flex;
        gap: 20px;
    }
    .card {
        width: 300px;
        height: 400px;
        border-radius: 15px;
        overflow: hidden;
        position: relative;
        cursor: pointer;
        background: #fff;
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        transition: transform 0.5s ease, box-shadow 0.5s ease;
    }
    .card:hover {
        transform: translateY(-10px);
        box-shadow: 0 6px 12px rgba(0,0,0,0.3);
    }
    .card-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: filter 0.5s ease;
        border-radius: 15px;
    }
    .card-info {
        position: absolute;
        bottom: -40%;
        left: 0;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.7);
        backdrop-filter: blur(10px);
        transition: bottom 0.5s ease;
        padding: 20px;
        border-bottom-left-radius: 15px;
        border-bottom-right-radius: 15px;
        opacity: 0;
    }
    .card:hover .card-info {
        bottom: 0;
        opacity: 1;
    }
    .card-title {
        margin: 0 0 10px;
        color: #333;
        font-weight: bold;
    }
    .card-description {
        margin: 0;
        color: #666;
    }
</style>
</head>
<body>
<div class="card-container">
    <div class="card">
        <img src="https://images.pexels.com/photos/415829/pexels-photo-415829.jpeg" class="card-image" alt="Model 1">
        <div class="card-info">
            <h3 class="card-title">Ava Patel</h3>
            <p class="card-description">Ava Patel, known for her avant-garde approach and striking features, has emerged as a leading figure in modern fashion campaigns. Her innovative looks and strong camera presence make her a go-to model for cutting-edge brands.</p>
        </div>
    </div>
    <div class="card">
        <img src="https://images.pexels.com/photos/324658/pexels-photo-324658.jpeg" class="card-image" alt="Model 2">
        <div class="card-info">
            <h3 class="card-title">Samira Khan</h3>
            <p class="card-description">Celebrated for her elegant and classic looks, has graced the runways of Paris and Milan. Her versatility and grace have made her a favorite among luxury fashion brands.</p>
        </div>
    </div>
    <div class="card">
        <img src="https://images.pexels.com/photos/713312/pexels-photo-713312.jpeg" class="card-image" alt="Model 3">
        <div class="card-info">
            <h3 class="card-title">Sophia Martinez</h3>
            <p class="card-description">Sophia Martinez, renowned for her vibrant and eclectic style, has been making waves in the international fashion scene. With her distinct look and charismatic energy, Sophia is a favorite in fashion editorials.</p>
        </div>
    </div>
</div>
</body>
</html>


Conclusion

Creating these glass effect image cards is a fun and simple way to enhance the visual appeal of your website. They're not just pretty to look at but also encourage user interaction, which can be crucial for keeping visitors engaged. Plus, with the basics of HTML and CSS, you can easily customize them to fit your website's theme and content.




Resources for You

ChatGPT Guide For Software Developers

Learn to use ChatGPT to stay ahead of competition

Front-End Developer Interview Kit

Today, Start preparing to get your dream job!

JavaScript Developer Kit

Start your JavaScript journey today!

Master JavaScript by Solving Daily Challenges

Challenge Yourself Daily: Advance Your JavaScript Skills and Career

View Challenges

Newsletter for Developers!

Join our newsletter to get important Web Development and Technology Updates