Modern Childrens Furniture Card
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>BloomKid | Modern Children's Furniture</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=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet"> </head> <body> <div class="container"> <!-- Header --> <header class="header"> <div class="brand"> <div class="brand-logo"> <i class="fas fa-leaf"></i> </div> <div class="brand-name">BloomKid</div> </div> <h1>Designed for <span class="highlight">Growing Imaginations</span></h1> <p class="header-subtitle">Our furniture collection blends safety, sustainability, and modern design to create spaces where children can learn, play, and grow.</p> </header> <!-- Cards Container --> <div class="cards-container"> <!-- Card 1 --> <div class="card"> <div class="card-ribbon">BEST SELLER</div> <div class="image-container"> <div class="age-badge"> <i class="fas fa-child"></i> <span>Ages 3-8</span> </div> <img src="https://plus.unsplash.com/premium_photo-1683543124672-6cbc571d1f31?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8U3R1ZHklMjBEZXNrfGVufDB8fDB8fHww" alt="Kaleido Study Desk"> </div> <div class="card-content"> <h2 class="product-name">Kaleido Study Desk</h2> <p class="product-description">A height-adjustable desk that grows with your child, featuring a spacious work surface and integrated storage.</p> <div class="safety-section"> <div class="safety-header"> <div class="safety-icon"> <i class="fas fa-shield-alt"></i> </div> <div class="safety-title">Safety Certified</div> </div> <p class="safety-note">Non-toxic, water-based finishes. Rounded edges and tip-over safety tested. Meets ASTM F2057 standards.</p> </div> <div class="details-grid"> <div class="detail-item"> <div class="detail-icon"> <i class="fas fa-tree"></i> </div> <div class="detail-text"> <strong>Sustainable birch</strong><br> Eco-friendly paint </div> </div> <div class="detail-item"> <div class="detail-icon"> <i class="fas fa-ruler-combined"></i> </div> <div class="detail-text"> <strong>Height adjustable</strong><br> 22" to 32" </div> </div> </div> <div class="price-section"> <div class="price"> <div class="current-price">$189.99</div> <div class="original-price">$219.99</div> <div class="price-label">Free shipping</div> </div> <button class="cta-button"> <i class="fas fa-shopping-cart"></i> Add to Cart </button> </div> </div> </div> <!-- Card 2 --> <div class="card"> <div class="image-container"> <div class="age-badge"> <i class="fas fa-child"></i> <span>Ages 2-6</span> </div> <img src="https://images.unsplash.com/photo-1560185893-a55cbc8c57e8?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Nimbus Book Nook"> </div> <div class="card-content"> <h2 class="product-name">Nimbus Book Nook</h2> <p class="product-description">A cozy reading corner with integrated bookshelves and comfortable cushioning for storytime adventures.</p> <div class="safety-section"> <div class="safety-header"> <div class="safety-icon"> <i class="fas fa-shield-alt"></i> </div> <div class="safety-title">Safety Certified</div> </div> <p class="safety-note">Sturdy construction with anti-tip hardware. All materials are BPA-free and phthalate-free. Greenguard Gold certified.</p> </div> <div class="details-grid"> <div class="detail-item"> <div class="detail-icon"> <i class="fas fa-tree"></i> </div> <div class="detail-text"> <strong>Solid pine frame</strong><br> Organic cotton cushion </div> </div> <div class="detail-item"> <div class="detail-icon"> <i class="fas fa-expand-alt"></i> </div> <div class="detail-text"> <strong>Compact design</strong><br> 36"W × 28"D × 42"H </div> </div> </div> <div class="price-section"> <div class="price"> <div class="current-price">$249.99</div> <div class="price-label">Includes cushion</div> </div> <button class="cta-button"> <i class="fas fa-shopping-cart"></i> Add to Cart </button> </div> </div> </div> <!-- Card 3 --> <div class="card"> <div class="card-ribbon">NEW ARRIVAL</div> <div class="image-container"> <div class="age-badge"> <i class="fas fa-child"></i> <span>Ages 0-4</span> </div> <img src="https://images.unsplash.com/photo-1531668720450-39cf1563fab9?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTR8fFN0dWR5JTIwRGVza3xlbnwwfHwwfHx8MA%3D%3D" alt="Sprout Storage Shelves"> </div> <div class="card-content"> <h2 class="product-name">Sprout Storage Shelves</h2> <p class="product-description">Modular wall shelves designed for toy storage and display, helping keep children's spaces organized and accessible.</p> <div class="safety-section"> <div class="safety-header"> <div class="safety-icon"> <i class="fas fa-shield-alt"></i> </div> <div class="safety-title">Safety Certified</div> </div> <p class="safety-note">Wall-mounted with secure brackets. Non-toxic powder coating and smooth finish. Exceeds CPSC safety standards.</p> </div> <div class="details-grid"> <div class="detail-item"> <div class="detail-icon"> <i class="fas fa-recycle"></i> </div> <div class="detail-text"> <strong>Recycled materials</strong><br> Plastic composite & steel </div> </div> <div class="detail-item"> <div class="detail-icon"> <i class="fas fa-th-large"></i> </div> <div class="detail-text"> <strong>Modular design</strong><br> 24"W × 10"D × 48"H </div> </div> </div> <div class="price-section"> <div class="price"> <div class="current-price">$129.99</div> <div class="original-price">$149.99</div> <div class="price-label">Limited time offer</div> </div> <button class="cta-button"> <i class="fas fa-shopping-cart"></i> Add to Cart </button> </div> </div> </div> </div> </div> </body> </html>
CSS
:root { --primary: #2A5C82; --primary-light: #4A9AE9; --secondary: #6AAB9C; --accent: #F5A65B; --neutral-light: #F9F9F9; --neutral-medium: #EDF2F7; --neutral-dark: #2D3748; --text-primary: #1A202C; --text-secondary: #4A5568; --white: #FFFFFF; --shadow-light: 0 8px 30px rgba(0, 0, 0, 0.05); --shadow-medium: 0 15px 40px rgba(42, 92, 130, 0.1); --shadow-hover: 0 20px 50px rgba(42, 92, 130, 0.15); --radius-card: 20px; --radius-elements: 12px; --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', sans-serif; background: linear-gradient(135deg, #f5f7fa 0%, #e4edf5 100%); color: var(--text-primary); min-height: 100vh; padding: 2rem; display: flex; flex-direction: column; align-items: center; } .container { max-width: 1300px; width: 100%; margin: 0 auto; } /* Header Styles */ .header { text-align: center; margin-bottom: 4rem; position: relative; } .brand { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 1.5rem; } .brand-logo { width: 48px; height: 48px; background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: white; font-size: 1.5rem; } .brand-name { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 2.2rem; color: var(--primary); letter-spacing: -0.5px; } .header h1 { font-family: 'Poppins', sans-serif; font-size: 3rem; font-weight: 700; color: var(--neutral-dark); margin-bottom: 1rem; line-height: 1.2; letter-spacing: -0.5px; } .header-subtitle { font-size: 1.2rem; color: var(--text-secondary); max-width: 700px; margin: 0 auto 2rem; line-height: 1.6; } .highlight { position: relative; display: inline-block; } .highlight::after { content: ''; position: absolute; bottom: 5px; left: 0; width: 100%; height: 8px; background-color: rgba(106, 171, 156, 0.2); z-index: -1; border-radius: 4px; } /* Cards Container */ .cards-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 2.5rem; margin-bottom: 4rem; } /* Card Styles */ .card { background: var(--white); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-light); transition: var(--transition); position: relative; display: flex; flex-direction: column; height: 100%; } .card:hover { transform: translateY(-12px); box-shadow: var(--shadow-hover); } .card-ribbon { position: absolute; top: 20px; left: -8px; background: var(--accent); color: var(--white); padding: 6px 20px; font-weight: 600; font-size: 0.85rem; border-radius: 0 var(--radius-elements) var(--radius-elements) 0; box-shadow: 0 4px 12px rgba(245, 166, 91, 0.3); z-index: 10; } .image-container { height: 260px; overflow: hidden; position: relative; } .image-container::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, transparent 70%, rgba(255,255,255,0.1) 100%); z-index: 1; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; } .card:hover .image-container img { transform: scale(1.08); } .age-badge { position: absolute; top: 20px; right: 20px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); color: var(--primary); padding: 8px 16px; border-radius: 50px; font-weight: 600; font-size: 0.9rem; display: flex; align-items: center; gap: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); z-index: 2; } /* Card Content */ .card-content { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; } .product-name { font-family: 'Poppins', sans-serif; font-size: 1.8rem; font-weight: 600; color: var(--neutral-dark); margin-bottom: 1rem; line-height: 1.3; } .product-description { font-size: 1rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 1.5rem; } .safety-section { background: var(--neutral-medium); border-radius: var(--radius-elements); padding: 1.2rem; margin-bottom: 1.5rem; border-left: 4px solid var(--secondary); } .safety-header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; } .safety-icon { width: 36px; height: 36px; background: var(--secondary); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; } .safety-title { font-weight: 600; color: var(--neutral-dark); } .safety-note { font-size: 0.95rem; color: var(--text-secondary); line-height: 1.5; } .details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 2rem; } .detail-item { display: flex; align-items: center; gap: 10px; } .detail-icon { width: 36px; height: 36px; background: rgba(74, 154, 233, 0.1); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--primary-light); } .detail-text { font-size: 0.95rem; color: var(--text-secondary); } .price-section { margin-top: auto; display: flex; justify-content: space-between; align-items: center; padding-top: 1.5rem; border-top: 1px solid rgba(0, 0, 0, 0.05); } .price { display: flex; flex-direction: column; } .current-price { font-size: 2.2rem; font-weight: 700; color: var(--primary); line-height: 1; } .original-price { font-size: 1.1rem; color: var(--text-secondary); text-decoration: line-through; } .price-label { font-size: 0.9rem; color: var(--text-secondary); margin-top: 4px; } .cta-button { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); color: white; border: none; padding: 16px 28px; border-radius: var(--radius-elements); font-weight: 600; font-size: 1rem; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 10px; box-shadow: 0 6px 20px rgba(42, 92, 130, 0.2); } .cta-button:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(42, 92, 130, 0.3); } .cta-button:active { transform: translateY(0); } /* Footer */ .footer { text-align: center; color: var(--text-secondary); font-size: 0.95rem; padding-top: 3rem; border-top: 1px solid rgba(0, 0, 0, 0.08); max-width: 800px; width: 100%; } .safety-badge { display: inline-flex; align-items: center; gap: 8px; background: var(--neutral-medium); padding: 8px 16px; border-radius: 50px; margin-top: 1.5rem; font-weight: 500; } /* Responsive Design */ @media (max-width: 1200px) { .cards-container { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 850px) { .cards-container { grid-template-columns: 1fr; max-width: 500px; margin: 0 auto 4rem; } .header h1 { font-size: 2.5rem; } .header-subtitle { font-size: 1.1rem; } } @media (max-width: 600px) { body { padding: 1.5rem; } .header h1 { font-size: 2rem; } .details-grid { grid-template-columns: 1fr; } .price-section { flex-direction: column; gap: 1.5rem; align-items: flex-start; } } /* Animation for page load */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .card { animation: fadeInUp 0.6s ease forwards; } .card:nth-child(2) { animation-delay: 0.1s; } .card:nth-child(3) { animation-delay: 0.2s; }
JavaScript
// Enhanced interactivity document.querySelectorAll('.cta-button').forEach(button => { button.addEventListener('click', function() { const card = this.closest('.card'); const productName = card.querySelector('.product-name').textContent; const price = card.querySelector('.current-price').textContent; // Store original button content const originalHTML = this.innerHTML; const originalBg = this.style.background; // Visual feedback this.innerHTML = '<i class="fas fa-check"></i> Added!'; this.style.background = 'linear-gradient(135deg, #6AAB9C 0%, #8BC9B5 100%)'; this.style.boxShadow = '0 6px 20px rgba(106, 171, 156, 0.3)'; // Add subtle animation to the card card.style.transform = 'translateY(-8px)'; // Reset after 1.5 seconds setTimeout(() => { this.innerHTML = originalHTML; this.style.background = originalBg; this.style.boxShadow = ''; card.style.transform = ''; }, 1500); // In a real application, you would add to cart functionality here console.log(`Added "${productName}" to cart at ${price}`); }); }); // Add hover effect for cards document.querySelectorAll('.card').forEach(card => { const ageBadge = card.querySelector('.age-badge'); card.addEventListener('mouseenter', () => { ageBadge.style.transform = 'scale(1.05)'; ageBadge.style.boxShadow = '0 6px 16px rgba(0, 0, 0, 0.12)'; }); card.addEventListener('mouseleave', () => { ageBadge.style.transform = 'scale(1)'; ageBadge.style.boxShadow = ''; }); });
Output Preview
Desktop
Mobile
Fullscreen