IE渐变,IE中的透明色?

时间:2013-02-02 15:47:38

标签: css

我可以在IE中使用带渐变的透明色吗?

我试过

filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=transparent, endColorstr=red);

奇怪的是,这会产生从蓝色到黑色的渐变,即使在IE9中也是如此。

2 个答案:

答案 0 :(得分:9)

(start|end)ColorStr属性不支持“透明”值。对于Internet Explorer 8及更低版本,您可以尝试以下代码:

.transparentGradient {

    /* The element needs layout */
    zoom: 1;

    filter: progid:DXImageTransform.Microsoft.gradient(
        gradientType=1, startColor=0, endColorStr=#FFFFFF
    );
    -ms-filter: progid:DXImageTransform.Microsoft.gradient(
        gradientType=1, startColor=0, endColorStr=#FFFFFF
    );
}

这是a working example。我已经在IE8及其兼容模式和IE6中测试过它。

startColor / endColor

startColorendColor参数接受:

  

整数,指定或接收范围可以从的颜色值    0(透明)至4294967295(不透明白色)。

请参阅:http://msdn.microsoft.com/en-us/library/ms532929(v=vs.85).aspx

startColorStr / endColorStr

您还可以使用startColorStr或/和endColorStr接受:

  

字符串,指定或接收范围从#FF000000到#FFFFFFFF的值。

因此,您可以在“#RRGGBB”(如示例中)或“#AARRGGBB”格式中指定颜色,后者定义为:

  

颜色以#AARRGGBB格式表示,其中AA是alpha   十六进制值,RR是红色十六进制值,GG是绿色   十六进制值,BB是蓝色十六进制值。阿尔法   value控制对象的不透明度。 alpha值为00   透明,而FF的值是不透明的。

默认值为#FF0000FF(不透明蓝色),如果传递的值超出范围,则默认为默认值。请参阅:http://msdn.microsoft.com/en-us/library/ms532930(v=vs.85).aspx


不要忘记:

  

对象必须具有要呈现的过滤器的布局。

请参阅:http://msdn.microsoft.com/en-us/library/ie/ms530752(v=vs.85).aspx

答案 1 :(得分:6)

这有效:

#000000FF

这样:

filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#000000FF, endColorstr=red);

而且,未经测试,但我听说0也有效。然后是startColor,而不是startColorstr。