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.
Summary
The ::-moz-range-progress CSS pseudo-element represents the portion of the "track" (the groove in which the indicator aka thumb slides) of an <input> of type="range", which corresponds to values lower than the value currently selected by the thumb.
Using ::-moz-range-progress with anything but an <input type="range"> doesn't match anything and has no effect.
Syntax
::-moz-range-progress { style properties }
Example
CSS content
input[type=range]::-moz-range-progress {
  background-color: green;
  height: 1em;
}
HTML content
<input type="range" min="0" max="100" step="5" value="50"/>
Output
A progress bar using this style might look something like this:

Specifications
Not part of any specification. This is a proprietary pseudo-element specific to Gecko.
Browser compatibility
| Feature | Firefox (Gecko) | Chrome | Internet Explorer | Opera | Safari | 
|---|---|---|---|---|---|
| Basic support | (Yes) | No support | No support | No support | No support | 
| Feature | Firefox Mobile (Gecko) | Android | IE Phone | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|
| Basic support | (Yes) | No support | No support | No support | No support | 
See also
- The pseudo-elements used by Gecko to style other parts of a range input:
- ::-ms-fill-upper
- CSS-Tricks: Styling Cross-Browser Compatible Range Inputs with CSS
- QuirksMode: Styling and scripting sliders