3

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

我试过了

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

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

4

2 回答 2

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

这是一个工作示例。我已经在 IE8、它的兼容模式和 IE6 中测试过它。

开始颜色/结束颜色

和参数接受startColorendColor

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

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

startColorStr / endColorStr

您还可以使用startColorStror/and endColorStrwhich 接受:

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

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

颜色以#AARRGGBB 格式表示,其中AA 是alpha 十六进制值,RR 是红色十六进制值,GG 是绿色十六进制值,BB 是蓝色十六进制值。alpha 值控制对象的不透明度。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

于 2013-02-02T16:18:29.297 回答
6

这有效:

#000000FF

所以:

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

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

于 2013-02-02T16:19:18.073 回答