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.
Syntax
::-webkit-progress-bar
Examples
CSS content
progress {
-webkit-appearance: none;
}
::-webkit-progress-bar {
background-color: orange;
}
HTML content
<progress value="10" max="50">
Result
Result screenshot
If you're not using a WebKit or Blink browser, the code above results in a progress bar that looks like this:

Specifications
Not part of any standard.
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
::-webkit-progress-bar | Chrome Full support 25 | Edge Full support 79 | Firefox No support No | IE No support No | Opera Full support 15 | Safari Full support 6.1 | WebView Android Full support ≤37 | Chrome Android Full support 25 | Firefox Android No support No | Opera Android Full support 14 | Safari iOS Full support 7 | Samsung Internet Android Full support 1.5 |
Legend
- Full support
- Full support
- No support
- No support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
See also
- The pseudo-elements used by WebKit/Blink to style other parts of a
<progress>element: ::-moz-progress-bar::-ms-fill
