CSS var() 后备在不受支持的浏览器中是否有效?

Ami*_*adi 2 css css-variables

这些天我正在使用 CSS var,所以有一件事引起了我的注意,我想知道是否为 CSS var() 函数设置了后备,这个后备在不完全支持 CSS var 的旧浏览器中将如何工作。它是否会被应用或被视为未知的 CSS 功能?

长话短说,现在我为这样的属性编写了两行 CSS:

:root{
   --box-height: 350px;
}

.box{
   height: 350px; // FALLBACK for older browsers.
   height: var(--box-height);
}
Run Code Online (Sandbox Code Playgroud)

我的目的是为旧浏览器提供后备,但如果我这样写就可以了:

:root{
   --box-height: 350px;
}

.box{
   height: var(--box-height, 350px); // Does it work in older browsers really?
}
Run Code Online (Sandbox Code Playgroud)

它能在旧浏览器中运行吗?没有关于我正在谈论的内容的透明文档,您的想法是什么?

Tem*_*fif 5

它能在旧浏览器中运行吗?

不,不会。如果浏览器无法识别var(),则无法考虑您在那里定义的后备值。整个值将无效。

如果您想考虑旧浏览器,您应该坚持第一个语法。