Professional Progressbar - MeggiTools
Run
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>Professional Progressbar</title> <style> body { font-family: 'Arial', sans-serif; background: linear-gradient(135deg, #74ebd5, #ACB6E5); display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; } .progress-container { width: 80%; max-width: 800px; background: #fff; border-radius: 10px; box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); overflow: hidden; position: relative; } .progress-header { display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; background: #5f2c82; color: #fff; font-weight: bold; } .progress-bar { width: 100%; height: 30px; background: #ddd; border-radius: 10px; overflow: hidden; position: relative; margin: 20px; } .progress-bar-inner { height: 100%; width: 0; background: linear-gradient(90deg, #ff6a00, #ee0979); border-radius: 10px; display: flex; justify-content: center; align-items: center; font-weight: bold; color: #fff; animation: load 3s ease-in-out forwards; position: relative; } .progress-icon { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; } .progress-emoji { font-size: 1.5rem; } .progress-label { display: none; } .progress-bar-inner:before { content: '🚀'; position: absolute; right: 10px; animation: rocket 3s ease-in-out infinite; } @keyframes load { 0% { width: 0; } 100% { width: 80%; } } @keyframes rocket { 0% { transform: translateX(0); } 100% { transform: translateX(20px); } } @media (max-width: 600px) { .progress-label { display: block; margin-top: 10px; font-size: 0.8rem; text-align: center; } .progress-bar { margin: 10px; } } </style> </head> <body> <div class="progress-container"> <div class="progress-header"> <span>Loading Progress</span> <span class="progress-label">0%</span> </div> <div class="progress-bar"> <div class="progress-bar-inner"> <div class="progress-icon"> <span class="progress-emoji">🔥</span> <span class="progress-percentage">0%</span> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded', function () { const progressBarInner = document.querySelector('.progress-bar-inner'); const progressPercentage = document.querySelector('.progress-percentage'); const progressLabel = document.querySelector('.progress-label'); let progress = 0; const interval = setInterval(() => { if (progress >= 80) { clearInterval(interval); } else { progress += 1; progressBarInner.style.width = `${progress}%`; progressPercentage.textContent = `${progress}%`; progressLabel.textContent = `${progress}%`; } }, 30); }); </script> </body> </html>