Internet explorer 如何修正IE 9和10的渐变?

Internet explorer 如何修正IE 9和10的渐变?,internet-explorer,css,internet-explorer-9,internet-explorer-10,linear-gradients,Internet Explorer,Css,Internet Explorer 9,Internet Explorer 10,Linear Gradients,代码: 在所有浏览器和平台上使用此功能都很好,但对于IE 10,渐变块不断重复,如下所示: 我能为IE 10做些什么 对于IE 9来说,渐变甚至不起作用,它只显示了“CACACA”。对于IE9我该如何解决这个问题呢?对于IE10:背景图像:-ms线性渐变(顶部,颜色[,颜色]*) 对于IE9:filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='color1',endColorstr='color2',Gradient

代码:

在所有浏览器和平台上使用此功能都很好,但对于IE 10,渐变块不断重复,如下所示:

我能为IE 10做些什么


对于IE 9来说,渐变甚至不起作用,它只显示了“CACACA”。对于IE9我该如何解决这个问题呢?

对于IE10:
背景图像:-ms线性渐变(顶部,颜色[,颜色]*)

对于IE9:
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='color1',endColorstr='color2',GradientType=0)


无重复:
背景重复:IE10无重复:
背景图像:-ms线性渐变(顶部,颜色[,颜色]*)

对于IE9:
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='color1',endColorstr='color2',GradientType=0)

禁止重复:
背景重复:禁止重复

看看这两个,这可能会帮助你找到满足你欲望的东西。

看看这两个,这可能会帮助你找到满足你欲望的东西。

首先,对于IE10:

删除
-ms线性渐变
,只需使用不带前缀的
线性渐变
;IE10不需要前缀,IE9也不支持该标准,无论是否有前缀。因此,
-ms-
前缀完全没有必要

第二,对于IE9:

IE9不支持标准渐变语法。您可以使用IE8支持的老式
过滤器
样式;这在IE9中确实有效,但那很糟糕——它的语法很糟糕,感觉就像回到了黑暗时代,而且它有一些令人讨厌的问题(与
边界半径不兼容)
…嘿)

相反,我建议使用那个好的旧polyfill脚本来支持IE9中的标准渐变语法。使事情更容易处理。

首先,对于IE10:

删除
-ms线性渐变
,只需使用不带前缀的
线性渐变
;IE10不需要前缀,IE9也不支持该标准,无论是否有前缀。因此,
-ms-
前缀完全没有必要

第二,对于IE9:

IE9不支持标准渐变语法。您可以使用IE8支持的老式
过滤器
样式;这在IE9中确实有效,但那很糟糕——它的语法很糟糕,感觉就像回到了黑暗时代,而且它有一些令人讨厌的问题(与
边界半径不兼容)
…嘿)

相反,我建议使用那个好的旧polyfill脚本来支持IE9中的标准渐变语法。使事情更容易处理

body {
    background-color: #CACACA;
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#CACACA), to(#F6FAFB));
    background-image: -webkit-linear-gradient(top, #CACACA, #F6FAFB);
    background-image:    -moz-linear-gradient(top, #CACACA, #F6FAFB);
    background-image:     -ms-linear-gradient(top, #CACACA, #F6FAFB);
    background-image:      -o-linear-gradient(top, #CACACA, #F6FAFB);
}