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-inner-element CSS pseudo-element represents the outermost container of the <progress> element. It is the parent of the ::-webkit-progress-bar pseudo-element.

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


::-webkit-progress-inner-element {
  /* ... */


These examples work only on Blink and WebKit.

Adding a black border around the progress bar

In this example, a 2px black border is added around the progress bar.


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


progress {
  -webkit-appearance: none;

::-webkit-progress-inner-element {
  border: 2px solid black;


Result screenshot

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

Progressbar is a long green and grey box with a black border. The left 20% of the box is green. The right 80% is grey.


Not part of any standard.

Browser compatibility

BCD tables only load in the browser

See also