2011-01-19 77 views
13

所以我试图把一个渐变背景桌子上,通过类:为什么这个CSS渐变在IE 7中出现错误的颜色?

.prov-results-bkgrd { 
    background: #fff url(/_images/prov-results-table-bg.jpg) left bottom repeat-x; 

    background: -webkit-gradient(
     linear, 
     left top, 
     left bottom, 
     from(#fff), 
     to(#dedbd5) 
    ); 

    background: -moz-linear-gradient(top, #fff, #dedbd5); 

    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff', endColorstr='#dedbd5'); 
} 

IE8和Firefox看起来OK。他们应用我认为的渐变:从白色到浅米色。

但是,IE7将梯度从黑色应用到深蓝色?跆拳道与...一起?

从哪里来? IE7不能识别十六进制颜色?

如果没有,它会不会应用默认背景,即#fff和图像文件?

回答

10

IE不认识的十六进制颜色,但不是那种你使用。只有那些有6个十六进制(#RRGGBB)或8个十六进制(#AARRGGBB;只能在渐变过滤器中工作的)才能工作。它也将接受指定的颜色。

所以,如果你更换#fff通过white#ffffff它会工作(或#ffffffff,但在这种情况下,这是超过所需的时间)。

的MSDN页startColorStrendColorStr也注意到,默认启动的颜色是蓝色,默认结束颜色为黑色,并且:

字符串输入那是十六进制范围将恢复到默认值。

+0

默认的开始和结束颜色是蓝色和黑色?为什么地球上会是一个好主意? – guiniveretoo 2014-09-15 16:06:58