Css 在多个背景中混合calc()和线性渐变在ie9中不起作用

Css 在多个背景中混合calc()和线性渐变在ie9中不起作用,css,Css,我想减少不必要的div的使用,所以我使用了多个后台文件。但在ie9中,它似乎不起作用 background: url(../images/home-2000.jpg) no-repeat -webkit-calc(50% - 200px) top, -webkit-linear-gradient(0deg, #dfe2e7 50%, white 50%); background: url(../images/home-2000.jpg) no-repeat calc(50% - 200px) t

我想减少不必要的div的使用,所以我使用了多个后台文件。但在ie9中,它似乎不起作用

background: url(../images/home-2000.jpg) no-repeat -webkit-calc(50% - 200px) top, -webkit-linear-gradient(0deg, #dfe2e7 50%, white 50%);
background: url(../images/home-2000.jpg) no-repeat calc(50% - 200px) top, linear-gradient(90deg, #dfe2e7 50%, white 50%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfe2e7', endColorstr='#ffffff',GradientType=1 );
-webkit-background-size: auto 100%;
background-size: auto 100%;

IE9不支持CSS渐变:

您可以使用此工具添加IE9渐变支持:
它创建了一个svg图像,允许您嵌入css。

说渐变不适用于ie 9,如果我只使用线性渐变,而不是在多个背景中使用,它确实显示渐变。实际上,-webkit和过滤器样式就是从这里来的。如果不是在多背景中,它在没有dat图像/svg的情况下也可以工作。您有没有研究过这个问题:。它会生成一个包含在站点根目录中的.htc文件。然后指定一行访问.htc文件:
behavior:url(path/to/PIE.htc)
,并按照文档进行操作。此外,根据这一点:,“IE9还将使用为IE6-8生成的MS筛选器,除非您另有指定。”因此,筛选器将覆盖后台,如下所述: