progress-indicators
beginner
progress
animation
loading
skills
percentage
Category · Progress Indicators Difficulty Level · Beginner Published on · January 22, 2024

Animated Progress Bar

Smooth animated progress bar with percentage display and customizable colors, perfect for loading states and skill displays.

#progress #animation #loading #skills #percentage

Responsive Design

Yes

Dark Mode Support

No

lines

187

Browser Compatibility

Chrome · Firefox · Safari · Edge

Live Preview

Interact with the component without leaving the page.

300px

Overview

Smooth animated progress bar with percentage display and customizable colors, perfect for loading states and skill displays.

How to use

  1. Copy the HTML markup into your page.
  2. Paste the CSS into your stylesheet and ensure the selectors match your markup.
  3. Paste the JavaScript and load it after the markup.
  4. Adjust spacing, colors, and text to match your design system.

Customization tips

  • Rename class names to avoid collisions with your existing CSS.
  • Replace hard-coded colors with CSS variables for theming.
  • Verify the layout at 320px, 768px, and 1024px widths.

HTML

43

lines

CSS

108

lines

JavaScript

36

lines


                <div class="progress-container">
  <div class="progress-item">
    <div class="progress-header">
      <span class="skill-name">HTML/CSS</span>
      <span class="percentage" data-target="90">0%</span>
    </div>
    <div class="progress-bar">
      <div class="progress-fill" data-width="90"></div>
    </div>
  </div>
  
  <div class="progress-item">
    <div class="progress-header">
      <span class="skill-name">JavaScript</span>
      <span class="percentage" data-target="85">0%</span>
    </div>
    <div class="progress-bar">
      <div class="progress-fill" data-width="85"></div>
    </div>
  </div>
  
  <div class="progress-item">
    <div class="progress-header">
      <span class="skill-name">React</span>
      <span class="percentage" data-target="75">0%</span>
    </div>
    <div class="progress-bar">
      <div class="progress-fill" data-width="75"></div>
    </div>
  </div>
  
  <div class="progress-item">
    <div class="progress-header">
      <span class="skill-name">Node.js</span>
      <span class="percentage" data-target="70">0%</span>
    </div>
    <div class="progress-bar">
      <div class="progress-fill" data-width="70"></div>
    </div>
  </div>
  
  <button class="animate-btn" onclick="animateProgress()">Animate Progress</button>
</div>

              
43lines
1282characters
HTMLLanguage

Browser Compatibility

Chrome

>= 45

Firefox

>= 40

Safari

>= 9

Edge

>= 12

Related Code Snippets

Explore template packs

Need larger building blocks? Browse responsive landing pages and component bundles.

Open HTML Template Library ->