Input
Value: 60%. Track: 300 x 20 px, radius 10 px, color #e5e5ea. Fill: gradient #4facfe to #00f2fe. Stripes: white 45 degrees at 25% opacity. Animation: 1 s stripe loop. Label: caption '3 of 5 files' above the bar.
Expected output
<div class="progress-label">3 of 5 files</div>
<div class="progress"><div class="progress-fill"></div></div>
.progress {
width: 300px; height: 20px;
background: #e5e5ea;
border-radius: 10px;
overflow: hidden;
}
.progress-fill {
width: 60%; height: 100%;
background-image:
linear-gradient(45deg, rgba(255,255,255,.25) 25%, transparent 25%,
transparent 50%, rgba(255,255,255,.25) 50%,
rgba(255,255,255,.25) 75%, transparent 75%, transparent),
linear-gradient(90deg, #4facfe, #00f2fe);
background-size: 16px 16px, 100% 100%;
animation: progress-stripes 1s linear infinite;
}
@keyframes progress-stripes {
from { background-position: 16px 0, 0 0; }
to { background-position: 0 0, 0 0; }
}
.progress-label { margin-bottom: 4px; font: 13px system-ui, sans-serif; }