::-webkit-meter-inner-element
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
::-webkit-meter-inner-element 是一个 WebKit 专有的 CSS 伪元素,用于选择和应用样式到 <meter> 元素的外部容器元素。额外标记可将 meter 元素渲染为只读。
语法
css
::-webkit-meter-inner-element {
/* ... */
}
示例
这仅适用于基于 WebKit 和 Blink 的浏览器,例如 Safari、Chrome 以及基于 Chromium 的 Edge 版本。
HTML
html
Normal: <meter min="0" max="10" value="6">Score 6/10</meter>
<br />
Styled: <meter id="styled" min="0" max="10" value="6">Score 6/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-inner-element {
-webkit-appearance: inherit;
box-sizing: inherit;
border: 1px dashed #aaaaaa;
}
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");
}
结果
规范
不属于任何标准。
浏览器兼容性
加载中…
另见
WebKit/Blink 用于样式化 <meter> 元素其他部分的伪元素如下: