IE 7 - 9中的线性渐变背景

Kar*_*ler 2 css internet-explorer css3 internet-explorer-8 internet-explorer-7

我有一个复选框和一个标签来设置样式,具体取决于是否选中了复选框.到目前为止,我使用[selectivizr]脚本1来管理:selected在IE7中工作的属性.但是不知何故,Gradient在IE 7,8和9中不起作用.应该有一个渐变从浅到深的绿色,但我得到一个深蓝色的渐变.我无法解释这个奇怪的行为,也许它与css规则的顺序有关?

     input[type=checkbox]:checked + label {
        background: #00bf00;
        background: -webkit-linear-gradient(top, #00bf00 0%, #009400 100%);
        background: -moz-linear-gradient(top, #00bf00 0%, #009400 100%);
        background: -o-linear-gradient(top, #00bf00 0%, #009400 100%);
        background: -ms-linear-gradient(top, #00bf00 0%, #009400 100%);
        background: linear-gradient(top, #00bf00 0%, #009400 100%); 
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#222', endColorstr='#45484d',GradientType=0 ); /* EDIT: UPDATE BELOW:*/
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00bf00', endColorstr='#009400',GradientType=0 );
    }
Run Code Online (Sandbox Code Playgroud)

gay*_*der 5

您的十六进制值对于IE6-9部分是错误的:

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00bf00', endColorstr='#009400',GradientType=0 ); /* IE6-9 */
Run Code Online (Sandbox Code Playgroud)