Catering Services Gallery
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>Catering Services Gallery</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <section class="gallery-section"> <h2>Catering Services Gallery</h2> <p class="twhite"> Discover our catering services for weddings, parties, and corporate events. From exquisite presentation to delicious flavors, we ensure every event is memorable. </p> <div class="container"> <div class="gallery-container"> <div class="gallery-card"> <img src="https://plus.unsplash.com/premium_photo-1663076035579-727173643e51?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8Q2F0ZXJpbmclMjBTZXJ2aWNlc3xlbnwwfHwwfHx8MA%3D%3D" alt="Wedding Catering"> <div class="gallery-info"> <h4>Wedding Catering</h4> <p>Elegant and delicious wedding menus</p> </div> </div> <div class="gallery-card"> <img src="https://images.unsplash.com/photo-1555244162-803834f70033?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8Q2F0ZXJpbmclMjBTZXJ2aWNlc3xlbnwwfHwwfHx8MA%3D%3D" alt="Corporate Events"> <div class="gallery-info"> <h4>Corporate Events</h4> <p>Professional catering for meetings & parties</p> </div> </div> <div class="gallery-card"> <img src="https://plus.unsplash.com/premium_photo-1673830185602-5ce22059fdf3?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTh8fENhdGVyaW5nJTIwU2VydmljZXN8ZW58MHx8MHx8fDA%3D" alt="Birthday Parties"> <div class="gallery-info"> <h4>Birthday Parties</h4> <p>Fun & tasty meals for all ages</p> </div> </div> <div class="gallery-card"> <img src="https://images.unsplash.com/photo-1671612451404-f4f8fc5fe25e?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mjl8fENhdGVyaW5nJTIwU2VydmljZXN8ZW58MHx8MHx8fDA%3D" alt="Buffet Setup"> <div class="gallery-info"> <h4>Buffet Setup</h4> <p>Variety of dishes beautifully presented</p> </div> </div> <div class="gallery-card"> <img src="https://plus.unsplash.com/premium_photo-1754254908378-b0d6f8f6ca54?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MzF8fENhdGVyaW5nJTIwU2VydmljZXN8ZW58MHx8MHx8fDA%3D" alt="Desserts & Sweets"> <div class="gallery-info"> <h4>Desserts & Sweets</h4> <p>Delicious desserts for every occasion</p> </div> </div> <div class="gallery-card"> <img src="https://images.unsplash.com/photo-1514362545857-3bc16c4c7d1b?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Nnx8RFJJTkt8ZW58MHx8MHx8fDA%3D" alt="Beverages & Drinks"> <div class="gallery-info"> <h4>Beverages & Drinks</h4> <p>Refreshing beverages for guests</p> </div> </div> </div> </div> </section> </body> </html>
CSS
body { font-family: 'Poppins', sans-serif; background: #fff8f0; color: #333; } .gallery-section { padding: 90px 20px; text-align: center; background: #fff8f0; } .gallery-section h2 { font-size: 2.8rem; font-weight: 700; color: #d35400; margin-bottom: 15px; } .gallery-section p { font-size: 1.15rem; color: #ffffff; max-width: 750px; margin: 0 auto 50px; } .twhite { color: #333 !important; } .gallery-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; } .gallery-card { position: relative; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(0,0,0,0.12); transition: transform 0.5s ease, box-shadow 0.5s ease; opacity: 0; transform: translateY(60px); } .gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; } .gallery-card:hover img { transform: scale(1.1); } .gallery-card:hover { transform: translateY(-12px); box-shadow: 0 16px 35px rgba(0,0,0,0.25); } .gallery-info { position: absolute; bottom: 0; left: 0; width: 100%; background: linear-gradient(to top, rgba(211,84,0,0.85), rgba(211,84,0,0)); color: #fff; padding: 20px; text-align: left; } .gallery-info h4 { margin: 0; font-size: 1.25rem; font-weight: 600; } .gallery-info p { margin: 5px 0 0; opacity: 0.95; font-size: 0.95rem; }
JavaScript
// Scroll animation using IntersectionObserver const cards = document.querySelectorAll('.gallery-card'); const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if(entry.isIntersecting){ entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; observer.unobserve(entry.target); } }); }, { threshold: 0.2 }); cards.forEach(card => observer.observe(card));
Output Preview
Desktop
Mobile
Fullscreen