Stylish Accordion - VexaX
Run Code
Toggle Theme
Share Link
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Stylish Accordion</title> <style> body { font-family: 'Georgia', serif; background: #f7f7f7; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; } .accordion { background: #fff; border-radius: 15px; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); overflow: hidden; width: 100%; max-width: 700px; } .accordion-item { border-bottom: 1px solid #ddd; } .accordion-item:last-child { border-bottom: none; } .accordion-header { background: #343a40; color: #fff; cursor: pointer; padding: 20px; font-size: 1.5rem; transition: background 0.3s; } .accordion-header:hover { background: #495057; } .accordion-content { background: #fff; color: #333; display: none; padding: 20px; animation: slideDown 0.3s forwards; } .accordion-content p { margin: 0; font-size: 1.2rem; } .accordion-item.active .accordion-content { display: block; } @keyframes slideDown { from { max-height: 0; opacity: 0; } to { max-height: 200px; opacity: 1; } } </style> </head> <body> <div class="accordion"> <div class="accordion-item"> <div class="accordion-header"> <h3>Item 1 <span>💼</span></h3> </div> <div class="accordion-content"> <p>Elegant content for the first item goes here.</p> </div> </div> <div class="accordion-item"> <div class="accordion-header"> <h3>Item 2 <span>🖋️</span></h3> </div> <div class="accordion-content"> <p>Elegant content for the second item goes here.</p> </div> </div> <div class="accordion-item"> <div class="accordion-header"> <h3>Item 3 <span>📚</span></h3> </div> <div class="accordion-content"> <p>Elegant content for the third item goes here.</p> </div> </div> </div> <script> document.querySelectorAll('.accordion-header').forEach(header => { header.addEventListener('click', () => { const accordionItem = header.parentElement; const isActive = accordionItem.classList.contains('active'); document.querySelectorAll('.accordion-item').forEach(item => { item.classList.remove('active'); }); if (!isActive) { accordionItem.classList.add('active'); } }); }); </script> </body> </html>