0

我正在尝试使用 CSS 变量为 IE 做一个优雅的后备。所以我这样做了:

body {
    background: brown;
    background: var(--main-bg-color);
}

这可行,但是 IE 警告 ActiveX 组件并让我允许它。我在下面附上了截图。在没有 ActiveX 提示的情况下是否有回退?

4

1 回答 1

2

我在这里说的是无知,但是您绝对确定 ActiveX 问题与使用background具有自定义属性值的属性的后备有关吗?您是否使用任何 IE 附加组件?如果是,您是否尝试过禁用它们?

一些附加组件依赖于 ActiveX,如果它们不能正常工作,它们可能会在呈现站点时导致一些问题。

奇怪的是 CSS 后备属性可能导致这种情况,因为大多数布局引擎只是忽略具有无效值的属性,即:

.class {
    color: #000;
    color: invalidValue;
}

由于invalidValue不是该color属性的有效颜色值,因此布局引擎通常会忽略此属性(及其值)并仅使用该属性的先前声明(如果没有先前的声明,它们会回退到初始/继承值)。话虽如此,如果 IE 对您的自定义属性有某种问题,--main-bg-color它应该brown用作后备,因为它最初是打算的。

于 2017-05-18T15:07:05.380 回答