我可以在IE中使用带渐变的透明色吗?
我试过
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=transparent, endColorstr=red);
奇怪的是,这会产生从蓝色到黑色的渐变,即使在IE9中也是如此。
答案 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
参数接受:
整数,指定或接收范围可以从的颜色值 0(透明)至4294967295(不透明白色)。
请参阅:http://msdn.microsoft.com/en-us/library/ms532929(v=vs.85).aspx
您还可以使用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。