::-webkit-meter-suboptimum-value

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

The ::-webkit-meter-suboptimum-value pseudo-element styles the <meter> element when the value attribute falls outside of the low-high range and is not equivalent to the optimum value.

Yellow is the default color.

Syntax

css
::-webkit-meter-suboptimum-value { /* ... */ } 

Examples

This example will only work in browsers based on WebKit or Blink.

HTML

html
Normal: <meter min="0" max="10" low="3" high="7" optimum="6" value="2"> Score 2/10 </meter> <br /> Styled: <meter id="styled" min="0" max="10" low="3" high="7" optimum="6" value="2"> Score 2/10 </meter> 

CSS

css
body { font-family: monospace; } .safari meter { /* Reset the default appearance for Safari only */ /* .safari class is added via JavaScript */ -webkit-appearance: none; } #styled::-webkit-meter-suboptimum-value { background: linear-gradient(to bottom, #ff7, #990 45%, #990 55%, #ff7); height: 100%; box-sizing: border-box; } 

JavaScript

js
// Safari requires <meter> elements to have an `appearance` of `none` for custom styling // using `::-webkit-meter-*` selectors, but `appearance: none` breaks rendering on Chrome. // Therefore, we must check if the browser is Safari-based. const is_safari = navigator.userAgent.includes("AppleWebKit/") && !navigator.userAgent.includes("Chrome/"); if (is_safari) { document.body.classList.add("safari"); } 

Result

Specifications

Not part of any standard.

Browser compatibility

See also

The pseudo-elements used by WebKit/Blink to style other parts of a <meter> element are as follows: