これは、代替品がないときにこのようなことにアプローチする方法の例として残しておきますが、BoltClock's answerはこの場合の方法です。
1つを定義し、その値がgetComputedStyle
に到達するかどうかを確認することができます。例えば、これはSupports custom props? true
(カスタムCSSプロパティをサポートしています)クロームではなく(ない)IE11のSupports custom props? false
を示しています
あなたは確実にCSSでJavaScriptで
CSS.supports()
または
@supports
を使用することができます
function areCSSVarsSupported() {
var d = document.createElement('div');
d.id = "test";
document.body.appendChild(d);
var pos = getComputedStyle(d).position;
document.body.removeChild(d);
return pos === "fixed";
}
console.log("Supports custom props? " + areCSSVarsSupported());
:root{
--test-vars: fixed;
}
#test {
position: var(--test-vars);
}
この質問は非常によく似ているようです。重複に答えるための私のポックス? – BoltClock
ああ、私は重複を検索しましたが、私は "CSS変数"ではなく "カスタムプロパティ"(正式名称、私は信じています)を探していました。 –
ええ、人々がCSS変数と呼んでいます。なぜなら、モジュールは「カスケード変数のカスタムプロパティ」と呼ばれているからです。 – BoltClock