::-webkit-meter-inner-element
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.
::-webkit-meter-inner-element
is a proprietary WebKit CSS pseudo-element for selecting and applying styles to the outer containing element of a
element. Additional markup to render the meter element as read-only.
Syntax
css
::-webkit-meter-inner-element {
/* ... */
}
Examples
This will only work in WebKit and Blink-based browsers, such as Safari, Chrome, and Chromium-based versions of Edge.
HTML
html
Normal: Score 6/10
Styled: Score 6/10
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-inner-element {
-webkit-appearance: inherit;
box-sizing: inherit;
border: 1px dashed #aaa;
}
JavaScript
js
// Safari requires 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.