This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.


The ::-webkit-progress-bar CSS pseudo-element represents the entire bar of a <progress> element. Normally it's only visible as the unfilled portion of the bar, since by default it's rendered below the ::-webkit-progress-value pseudo-element. It is a child of the ::-webkit-progress-inner-element pseudo-element and the parent of the ::-webkit-progress-value pseudo-element.

Note: In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.


Not part of any specification. This is a proprietary pseudo-element specific to WebKit/Blink.


CSS content

progress {
  -webkit-appearance: none;

::-webkit-progress-bar {
   background-color: orange;

HTML content

<progress value="10" max="50">


A progress bar using the style above would look like this:

Browser compatibility

Feature Firefox (Gecko) Chrome Internet Explorer Opera Safari
Basic support No support (Yes) No support (Yes) (Yes)
Feature Firefox Mobile (Gecko) Android IE Phone Opera Mobile Safari Mobile
Basic support No support (Yes) No support (Yes) (Yes)

See also

Document Tags and Contributors

 Contributors to this page: Sebastianz, pkpatel88, teoli, cvrebert
 Last updated by: Sebastianz,