Responsive Product Slider Html Css Codepen Online

.swiper-pagination-bullet background: #bdd4e6; opacity: 0.6; width: 8px; height: 8px;

.product-card:hover transform: translateY(-6px); box-shadow: 0 22px 32px -12px rgba(0, 0, 0, 0.15); border-color: rgba(80, 140, 200, 0.3);

.product-category font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; color: #5c7f9c; margin-bottom: 0.5rem;

.product-card:hover .product-img img transform: scale(1.02); Responsive Product Slider Html Css Codepen

.product-img img width: 100%; max-width: 220px; height: auto; aspect-ratio: 1 / 0.95; object-fit: contain; transition: transform 0.4s ease; display: block; margin: 0 auto;

/* main container */ .slider-container max-width: 1400px; width: 100%; margin: 0 auto; background: rgba(255,255,255,0.4); backdrop-filter: blur(0px); border-radius: 2.5rem; padding: 2rem 1rem 2.5rem 1rem; box-shadow: 0 20px 35px -12px rgba(0,0,0,0.08);

/* image wrapper with aspect ratio */ .product-img position: relative; background: #f4f8fe; padding: 1rem; display: flex; align-items: center; justify-content: center; overflow: hidden; border-bottom: 1px solid #edf2f7; .swiper-pagination-bullet background: #bdd4e6

.section-head h2 font-size: 2.2rem; font-weight: 700; background: linear-gradient(135deg, #1A2A3F, #2C4C6E); background-clip: text; -webkit-background-clip: text; color: transparent; letter-spacing: -0.02em;

<div class="slider-container"> <div class="section-head"> <h2>✨ Trending Essentials</h2> <p>swipe through — minimalist design, premium quality</p> </div>

/* responsive adjustments */ @media (max-width: 768px) .slider-container padding: 1.5rem 0.5rem 2rem 0.5rem; .section-head h2 font-size: 1.7rem; .product-title font-size: 0.95rem; .current-price font-size: 1.25rem; .swiper-button-next, .swiper-button-prev width: 36px; height: 36px; .swiper-button-next:after, .swiper-button-prev:after font-size: 1rem; .product-card:hover transform: translateY(-6px)

<!-- navigation arrows (optional but nice) --> <div class="swiper-button-next"></div> <div class="swiper-button-prev"></div> <div class="swiper-pagination"></div> </div> </div>

/* badge / discount */ .badge position: absolute; top: 16px; left: 16px; background: #e73c3c; color: white; font-size: 0.7rem; font-weight: 700; padding: 0.25rem 0.7rem; border-radius: 40px; letter-spacing: 0.3px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); backdrop-filter: blur(2px); z-index: 2;

.current-price font-size: 1.5rem; font-weight: 800; color: #1f6392;

// Add to cart button interactive feedback (simple alert simulation for demo) const addBtns = document.querySelectorAll('.btn-add'); addBtns.forEach(btn => btn.addEventListener('click', (e) => 'Item'; // subtle visual feedback btn.style.transform = 'scale(0.96)'; setTimeout(() => btn.style.transform = ''; , 150); // friendly console + alert (lightweight & non-intrusive demo) alert(`🛍️ Added "$productName" to your cart!`); ); ); ); </script> </body> </html>

<!-- Product 5 --> <div class="swiper-slide"> <div class="product-card"> <div class="product-img"> <img src="https://cdn-icons-png.flaticon.com/512/1046/1046784.png" alt="Ceramic Mug" loading="lazy"> </div> <div class="product-info"> <div class="product-category">Home & Living</div> <div class="product-title">Zen Stone Mug</div> <div class="product-desc">Handcrafted ceramic, heat-retaining, 350ml</div> <div class="price-row"> <span class="current-price">$24</span> <span class="old-price">$32</span> </div> <button class="btn-add" aria-label="Add to cart">+ Add to Cart</button> </div> </div> </div>