::-webkit-meter-inner-element

**非标准:**此功能是非标准的,并且不在标准轨道上。请勿在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。

**::-webkit-meter-inner-element** 是一个专有的 WebKit CSS 伪元素,用于选择和应用样式到 <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 #aaa;
}

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");
}

结果

规范

不属于任何标准。

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅