Grocery Testimonial Section Design
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>Grocery Mart - Testimonials</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"> </head> <body> <section class="testimonial-section"> <div class="floating-icons"> <i class="floating-icon fas fa-shopping-basket" style="top: 10%; left: 5%; animation-delay: 0s;"></i> <i class="floating-icon fas fa-apple-alt" style="top: 30%; left: 80%; animation-delay: 2s;"></i> <i class="floating-icon fas fa-carrot" style="top: 70%; left: 15%; animation-delay: 4s;"></i> <i class="floating-icon fas fa-leaf" style="top: 85%; left: 70%; animation-delay: 6s;"></i> </div> <div class="section-title"> <h2>What Our Customers Say</h2> <p>Hear from our satisfied customers about their shopping experience at Grocery Mart</p> </div> <div class="testimonial-container"> <!-- Testimonial 1 --> <div class="testimonial-card"> <div class="quote-icon"> <i class="fas fa-quote-left"></i> </div> <p class="testimonial-text"> Grocery Mart has completely transformed my shopping experience. The quality of fresh produce is unmatched, and the delivery is always on time. I've been a loyal customer for 3 years now! </p> <div class="customer-info"> <img src="https://randomuser.me/api/portraits/women/45.jpg" alt="Sarah Johnson" class="customer-avatar"> <div class="customer-details"> <h4>Sarah Johnson</h4> <p>Regular Customer</p> <div class="rating"> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> </div> </div> </div> </div> <!-- Testimonial 2 --> <div class="testimonial-card"> <div class="quote-icon"> <i class="fas fa-quote-left"></i> </div> <p class="testimonial-text"> The mobile app makes shopping so convenient! I love the personalized recommendations and the fact that I can schedule deliveries for when I'm home. Prices are competitive too. </p> <div class="customer-info"> <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Michael Chen" class="customer-avatar"> <div class="customer-details"> <h4>Michael Chen</h4> <p>App User</p> <div class="rating"> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star-half-alt"></i> </div> </div> </div> </div> <!-- Testimonial 3 --> <div class="testimonial-card"> <div class="quote-icon"> <i class="fas fa-quote-left"></i> </div> <p class="testimonial-text"> As a busy mom, Grocery Mart saves me so much time. The quality is consistently excellent, and I love that they remember my preferences. The organic selection is the best in town! </p> <div class="customer-info"> <img src="https://randomuser.me/api/portraits/women/68.jpg" alt="Jessica Martinez" class="customer-avatar"> <div class="customer-details"> <h4>Jessica Martinez</h4> <p>Family Shopper</p> <div class="rating"> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> <i class="fas fa-star"></i> </div> </div> </div> </div> </div> </section> </body> </html>
CSS
:root { --primary-yellow: #FFD700; --secondary-yellow: #FFF200; --dark-yellow: #FFC000; --white: #FFFFFF; --light-gray: #F5F5F5; --dark-gray: #333333; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background-color: var(--white); } .testimonial-section { padding: 5rem 2rem; background: linear-gradient(135deg, var(--white) 0%, var(--light-gray) 100%); position: relative; overflow: hidden; } .testimonial-section::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, var(--primary-yellow) 0%, transparent 70%); opacity: 0.1; animation: pulse 15s infinite alternate; } @keyframes pulse { 0% { transform: scale(1); opacity: 0.1; } 100% { transform: scale(1.1); opacity: 0.15; } } .section-title { text-align: center; margin-bottom: 3rem; position: relative; z-index: 1; } .section-title h2 { font-size: 2.5rem; color: var(--dark-gray); margin-bottom: 1rem; font-weight: 700; } .section-title p { font-size: 1.1rem; color: var(--dark-gray); max-width: 700px; margin: 0 auto; } .testimonial-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; } .testimonial-card { background-color: var(--white); border-radius: 15px; padding: 2rem; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); width: 100%; max-width: 350px; transition: all 0.3s ease; position: relative; overflow: hidden; border: 1px solid rgba(255, 215, 0, 0.3); } .testimonial-card:hover { transform: translateY(-10px); box-shadow: 0 15px 40px rgba(255, 215, 0, 0.2); border-color: var(--primary-yellow); } .testimonial-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 5px; background: linear-gradient(90deg, var(--primary-yellow), var(--secondary-yellow)); transform: scaleX(0); transform-origin: left; transition: transform 0.5s ease; } .testimonial-card:hover::after { transform: scaleX(1); } .quote-icon { font-size: 3rem; color: var(--primary-yellow); opacity: 0.3; margin-bottom: 1rem; } .testimonial-text { font-size: 1rem; color: var(--dark-gray); line-height: 1.6; margin-bottom: 1.5rem; position: relative; } .customer-info { display: flex; align-items: center; } .customer-avatar { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; margin-right: 1rem; border: 3px solid var(--primary-yellow); } .customer-details h4 { font-size: 1.1rem; color: var(--dark-gray); margin-bottom: 0.3rem; } .customer-details p { font-size: 0.9rem; color: #777; } .rating { color: var(--primary-yellow); margin-top: 0.5rem; font-size: 1rem; } .floating-icons { position: absolute; width: 100%; height: 100%; top: 0; left: 0; pointer-events: none; z-index: 0; } .floating-icon { position: absolute; opacity: 0.1; color: var(--primary-yellow); font-size: 1.5rem; animation: float 10s infinite linear; } @keyframes float { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(180deg); } 100% { transform: translateY(0) rotate(360deg); } } @media (max-width: 768px) { .section-title h2 { font-size: 2rem; } .testimonial-card { max-width: 100%; } }
JavaScript
Output Preview
Desktop
Mobile
Fullscreen