我可以在 IE 中使用带有渐变的透明颜色吗?
我试过了
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=transparent, endColorstr=red);
奇怪的是,这会产生从蓝色到黑色的渐变,即使在 IE9 中也是如此。
我可以在 IE 中使用带有渐变的透明颜色吗?
我试过了
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=transparent, endColorstr=red);
奇怪的是,这会产生从蓝色到黑色的渐变,即使在 IE9 中也是如此。
没有提及(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 中测试过它。
和参数接受startColor
:endColor
指定或接收颜色值的整数,范围从 0(透明)到 4294967295(不透明白色)。
请参阅:http: //msdn.microsoft.com/en-us/library/ms532929 (v=vs.85).aspx
您还可以使用startColorStr
or/and endColorStr
which 接受:
指定或接收范围从#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
这有效:
#000000FF
所以:
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#000000FF, endColorstr=red);
而且,未经测试,但我听说 0 也可以。然后是 startColor,而不是 startColorstr。