Non-standard: 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: For ::-webkit-progress-value to take effect, appearance needs to be set to none on the <progress> element.


::-webkit-progress-bar {
  /* ... */


CSS content

progress {
  -webkit-appearance: none;

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

HTML content

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


Result screenshot

If you're not using a WebKit or Blink browser, the code above results in a progress bar that looks like this:

The progress bar is a horizontal bar about the height of a letter. The left 20% is green. The right 80% is orange.


Not part of any standard.

Browser compatibility

BCD tables only load in the browser

See also