::-webkit-meter-inner-element 擬似要素 (CSS)
非標準: この機能は標準化されていません。非標準の機能はブラウザーの対応が限られ、将来的に変更または削除される可能性があるため、本番環境での使用は推奨されません。ただし、標準の選択肢が存在しない特定のケースでは、有効な代替手段となる場合があります。
::-webkit-meter-inner-element は WebKit 独自 の CSS 擬似要素であり、<meter> 要素の外側のコンテナー要素を選択し、スタイルを適用するために使用されます。メーター要素を読み取り専用の状態で表示するための追加のマークアップです。
構文
css
::-webkit-meter-inner-element {
/* ... */
}
例
これは、WebKit および Blink ベースのブラウザー(Safari、Chrome、Chromium ベースの Edge など)でのみ動作します。
HTML
html
通常: <meter min="0" max="10" value="6">スコア 6/10</meter>
<br />
スタイル設定: <meter id="styled" min="0" max="10" value="6">スコア 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 isSafari =
navigator.userAgent.includes("AppleWebKit/") &&
!navigator.userAgent.includes("Chrome/");
if (isSafari) {
document.body.classList.add("safari");
}
結果
仕様書
どの仕様書にもありません。
ブラウザーの互換性
関連情報
WebKit/Blink で <meter> 要素のほかの部分にスタイル設定するために使用される擬似要素: