2

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

     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 );
    }
4

1 回答 1

5

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

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00bf00', endColorstr='#009400',GradientType=0 ); /* IE6-9 */
于 2013-05-02T10:35:14.980 回答