Real Estate Properties Card Template
Preview
Edit
Download
Run
Download Options
HTML File
Download as .html file
CSS File
Download as .css file
JavaScript File
Download as .js file
Combined HTML
All code in one HTML file
Project ZIP
All files in a ZIP archive
Cancel
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Luxury Real Estate | Premium Properties</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap" rel="stylesheet"> </head> <body> <div class="luxury-container"> <header class="luxury-header"> <p class="section-subtitle">Exclusive Collection</p> <h1 class="section-title">Luxury Properties</h1> <p class="section-description">Discover our curated selection of premium residences in the world's most sought-after locations, designed for those who appreciate the finest living experiences.</p> </header> <div class="properties-grid"> <!-- Property Card 1 --> <article class="property-card"> <div class="property-image-container"> <img src="https://images.unsplash.com/photo-1613490493576-7fde63acd811?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80" alt="Modern Luxury Apartment" class="property-image"> <div class="property-status">Just Listed</div> <div class="property-tag">APARTMENT</div> <div class="property-overlay"> <p class="overlay-text">Panoramic city views • Smart home technology • Private balcony • Concierge service</p> </div> </div> <div class="property-content"> <h2 class="property-title">Skyline Luxury Residence</h2> <div class="property-location"> <i class="fas fa-map-marker-alt location-icon"></i> <span>Downtown Financial District</span> </div> <div class="property-features"> <div class="feature"> <div class="feature-icon"> <i class="fas fa-bed"></i> </div> <span class="feature-label">Bedrooms</span> <span class="feature-value">3</span> </div> <div class="feature"> <div class="feature-icon"> <i class="fas fa-bath"></i> </div> <span class="feature-label">Bathrooms</span> <span class="feature-value">2.5</span> </div> <div class="feature"> <div class="feature-icon"> <i class="fas fa-vector-square"></i> </div> <span class="feature-label">Square Feet</span> <span class="feature-value">2,150</span> </div> </div> <div class="property-price-section"> <div class="price-container"> <span class="price-label">Asking Price</span> <div class="property-price">$1,250,000</div> </div> <button class="view-details-btn"> VIEW <i class="fas fa-arrow-right btn-icon"></i> </button> </div> </div> </article> <!-- Property Card 2 --> <article class="property-card"> <div class="property-image-container"> <img src="https://images.unsplash.com/photo-1512917774080-9991f1c4c750?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80" alt="Modern Villa" class="property-image"> <div class="property-status">Premium</div> <div class="property-tag villa-tag">VILLA</div> <div class="property-overlay"> <p class="overlay-text">Infinity pool • Home theater • Wine cellar • Smart security • Private garden</p> </div> </div> <div class="property-content"> <h2 class="property-title">Hillside Modern Villa</h2> <div class="property-location"> <i class="fas fa-map-marker-alt location-icon"></i> <span>Beverly Hills, Los Angeles</span> </div> <div class="property-features"> <div class="feature"> <div class="feature-icon"> <i class="fas fa-bed"></i> </div> <span class="feature-label">Bedrooms</span> <span class="feature-value">5</span> </div> <div class="feature"> <div class="feature-icon"> <i class="fas fa-bath"></i> </div> <span class="feature-label">Bathrooms</span> <span class="feature-value">4.5</span> </div> <div class="feature"> <div class="feature-icon"> <i class="fas fa-vector-square"></i> </div> <span class="feature-label">Square Feet</span> <span class="feature-value">4,800</span> </div> </div> <div class="property-price-section"> <div class="price-container"> <span class="price-label">Fixed Price</span> <div class="property-price">$3,850,000</div> </div> <button class="view-details-btn"> VIEW <i class="fas fa-arrow-right btn-icon"></i> </button> </div> </div> </article> <!-- Property Card 3 --> <article class="property-card"> <div class="property-image-container"> <img src="https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80" alt="Waterfront Apartment" class="property-image"> <div class="property-status">Waterfront</div> <div class="property-tag">APARTMENT</div> <div class="property-overlay"> <p class="overlay-text">Direct waterfront access • Private marina • Floor-to-ceiling windows • Rooftop terrace</p> </div> </div> <div class="property-content"> <h2 class="property-title">Waterfront Panoramic Suite</h2> <div class="property-location"> <i class="fas fa-map-marker-alt location-icon"></i> <span>Marina Bay, Miami</span> </div> <div class="property-features"> <div class="feature"> <div class="feature-icon"> <i class="fas fa-bed"></i> </div> <span class="feature-label">Bedrooms</span> <span class="feature-value">2</span> </div> <div class="feature"> <div class="feature-icon"> <i class="fas fa-bath"></i> </div> <span class="feature-label">Bathrooms</span> <span class="feature-value">2</span> </div> <div class="feature"> <div class="feature-icon"> <i class="fas fa-vector-square"></i> </div> <span class="feature-label">Square Feet</span> <span class="feature-value">1,850</span> </div> </div> <div class="property-price-section"> <div class="price-container"> <span class="price-label">Asking Price</span> <div class="property-price">$2,150,000</div> </div> <button class="view-details-btn"> VIEW <i class="fas fa-arrow-right btn-icon"></i> </button> </div> </div> </article> </div> <footer class="luxury-footer"> <p class="footer-text">© 2023 <span class="footer-brand">LUXURY ESTATES</span> • All property images courtesy of Unsplash</p> <p class="footer-text">Premium Real Estate Template for Exclusive Properties</p> </footer> </div> </body> </html>
CSS
:root { --primary-dark: #0C1A32; --primary-gold: #C9A86A; --primary-blue: #1A365D; --accent-teal: #2D9B9B; --light-bg: #F8FAFC; --card-bg: #FFFFFF; --text-dark: #1E293B; --text-light: #64748B; --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.04); --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.02); --border-radius: 20px; --transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', sans-serif; background-color: var(--light-bg); color: var(--text-dark); line-height: 1.6; padding: 0; min-height: 100vh; } .luxury-container { max-width: 1400px; margin: 0 auto; padding: 60px 30px; } /* Header Section */ .luxury-header { text-align: center; margin-bottom: 70px; position: relative; } .luxury-header:after { content: ''; position: absolute; width: 100px; height: 3px; background: linear-gradient(90deg, var(--primary-gold), var(--accent-teal)); bottom: -20px; left: 50%; transform: translateX(-50%); border-radius: 3px; } .section-subtitle { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--primary-gold); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 15px; font-weight: 600; } .section-title { font-family: 'Playfair Display', serif; font-size: 3.2rem; color: var(--primary-dark); line-height: 1.2; margin-bottom: 20px; font-weight: 700; } .section-description { font-size: 1.15rem; color: var(--text-light); max-width: 700px; margin: 0 auto; } /* Property Cards Grid */ .properties-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; margin-bottom: 80px; } /* Property Card */ .property-card { background: var(--card-bg); border-radius: var(--border-radius); overflow: hidden; box-shadow: var(--shadow-md); transition: var(--transition); height: 100%; display: flex; flex-direction: column; position: relative; } .property-card:hover { transform: translateY(-12px); box-shadow: var(--shadow-lg); } /* Image Container */ .property-image-container { height: 280px; overflow: hidden; position: relative; } .property-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; } .property-card:hover .property-image { transform: scale(1.05); } .property-status { position: absolute; top: 20px; right: 20px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); padding: 8px 16px; border-radius: 50px; font-weight: 600; font-size: 0.85rem; color: var(--primary-dark); box-shadow: var(--shadow-sm); z-index: 2; } .property-tag { position: absolute; top: 20px; left: 20px; background: var(--primary-gold); color: white; padding: 8px 18px; border-radius: 50px; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.5px; z-index: 2; } .villa-tag { background: var(--accent-teal); } .property-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(12, 26, 50, 0.9), transparent); padding: 25px; color: white; transform: translateY(10px); opacity: 0; transition: var(--transition); } .property-card:hover .property-overlay { transform: translateY(0); opacity: 1; } .overlay-text { font-size: 0.95rem; opacity: 0.9; } /* Property Content */ .property-content { padding: 28px; display: flex; flex-direction: column; flex-grow: 1; } .property-title { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--primary-dark); margin-bottom: 12px; font-weight: 700; line-height: 1.3; } .property-location { display: flex; align-items: center; color: var(--text-light); margin-bottom: 22px; font-size: 1rem; } .location-icon { margin-right: 10px; color: var(--primary-gold); font-size: 1.1rem; } .property-features { display: flex; justify-content: space-between; margin-bottom: 25px; padding: 20px 0; border-top: 1px solid #F1F5F9; border-bottom: 1px solid #F1F5F9; } .feature { display: flex; flex-direction: column; align-items: center; text-align: center; } .feature-icon { background: rgba(201, 168, 106, 0.1); width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; color: var(--primary-gold); font-size: 1.2rem; } .feature-label { font-size: 0.9rem; color: var(--text-light); } .feature-value { font-weight: 600; color: var(--primary-dark); margin-top: 3px; } /* Price Section */ .property-price-section { margin-top: auto; display: flex; justify-content: space-between; align-items: center; } .price-container { display: flex; flex-direction: column; } .price-label { font-size: 0.9rem; color: var(--text-light); margin-bottom: 5px; } .property-price { font-size: 2rem; color: var(--primary-dark); font-weight: 700; line-height: 1; } .price-period { font-size: 1rem; color: var(--text-light); font-weight: 400; } /* View Details Button */ .view-details-btn { background: var(--primary-dark); color: white; border: none; padding: 16px 28px; border-radius: 12px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: var(--transition); display: flex; align-items: center; justify-content: center; letter-spacing: 0.3px; } .view-details-btn:hover { background: var(--primary-blue); transform: translateY(-2px); box-shadow: 0 8px 15px rgba(12, 26, 50, 0.1); } .btn-icon { margin-left: 10px; font-size: 0.9rem; transition: transform 0.3s ease; } .view-details-btn:hover .btn-icon { transform: translateX(4px); } /* Footer */ .luxury-footer { text-align: center; padding-top: 50px; border-top: 1px solid #E2E8F0; } .footer-text { color: var(--text-light); font-size: 0.95rem; margin-bottom: 10px; } .footer-brand { color: var(--primary-dark); font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.3rem; letter-spacing: 1px; } /* Responsive Design */ @media (max-width: 1200px) { .properties-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; } } @media (max-width: 900px) { .luxury-container { padding: 40px 20px; } .section-title { font-size: 2.5rem; } .properties-grid { grid-template-columns: 1fr; max-width: 600px; margin-left: auto; margin-right: auto; } } @media (max-width: 600px) { .section-title { font-size: 2rem; } .property-content { padding: 22px; } .property-features { padding: 15px 0; } .property-price-section { flex-direction: column; align-items: flex-start; } .view-details-btn { width: 100%; margin-top: 20px; } } /* Animation for cards */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .property-card { animation: fadeInUp 0.6s ease forwards; opacity: 0; } .property-card:nth-child(1) { animation-delay: 0.1s; } .property-card:nth-child(2) { animation-delay: 0.2s; } .property-card:nth-child(3) { animation-delay: 0.3s; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: var(--primary-gold); border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #b89452; }
JavaScript
// Enhanced interactive functionality document.addEventListener('DOMContentLoaded', function() { const propertyCards = document.querySelectorAll('.property-card'); const viewButtons = document.querySelectorAll('.view-details-btn'); // Add click effect to cards propertyCards.forEach(card => { card.addEventListener('click', function(e) { if (!e.target.closest('.view-details-btn')) { this.style.transform = 'scale(0.98)'; setTimeout(() => { this.style.transform = ''; }, 150); } }); }); // Enhanced button functionality viewButtons.forEach(button => { button.addEventListener('click', function(e) { e.stopPropagation(); const card = this.closest('.property-card'); const title = card.querySelector('.property-title').textContent; const price = card.querySelector('.property-price').textContent; const location = card.querySelector('.property-location span').textContent; // Create a modal-like effect this.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Loading...'; this.style.background = 'var(--accent-teal)'; setTimeout(() => { this.innerHTML = 'VIEW DETAILS <i class="fas fa-arrow-right btn-icon"></i>'; this.style.background = ''; // Show property details (simulated) const details = ` Property: ${title} Location: ${location} Price: ${price} Status: Inquiry Sent `; alert(`Thank you for your interest in:\n\n${details}\n\nOur luxury agent will contact you shortly.`); }, 800); }); }); // Add parallax effect on scroll for header window.addEventListener('scroll', function() { const scrolled = window.pageYOffset; const header = document.querySelector('.luxury-header'); if (scrolled < 300) { header.style.transform = `translateY(${scrolled * 0.1}px)`; } }); // Animate cards on scroll const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.opacity = '1'; } }); }, observerOptions); propertyCards.forEach(card => { observer.observe(card); }); });
Output Preview
Desktop
Mobile
Fullscreen