Parameter Value
max How much work the task requires in total
value How much of the work has been accomplished already
position This attribute returns the current position of the <progress> element
labels This attribute returns a list of <progress> element labels (if any)

Progress

The <progress> element is new in HTML5 and is used to represent the progress of a task

<progress value="22" max="100"></progress>

This creates a bar filled 22%

Chrome / Safari / Opera

These browsers use the –webkit-appearance selector to style the progress tag. To override this, we can reset the
appearance.

progress[value] {
 -webkit-appearance: none;
 appearance: none;
}

Now, we can style the container itself

progress[value]::-webkit-progress-bar {
 background-color: "green";
}

Firefox

Firefox styles the progress bar a little differently. We have to use these styles

progress[value] {
 -moz-appearance: none;
 appearance: none;
 border: none; /* Firefox also renders a border */
}

Internet Explorer

Internet Explorer 10+ supports the progress element. However, it does not support the background-color
property. You’ll need to use the color property instead.

progress[value] {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border: none; /* Remove border from Firefox */
 width: 250px;
 height: 20px;
 color: blue;
}

HTML Fallback

For browsers that do not support the progress element, you can use this as a workaround.

<progress max="100" value="20">
 <div>
 <span style="width: 20%;">Progress: 20%</span>
 </div>
</progress>

Browsers that support the progress tag will ignore the div nested inside. Legacy browsers which cannot identify the
progress tag will render the div instead.