我能在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
属性中没有提到支持"transparent"值。对于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
或/和endColorStr
,它们接受:
字符串,指定或接收的值可以范围从#FF000000到#FFFFFFFF。
因此,您可以在“#RRGGBB”(如示例中所示)或“#AARRGGBB”格式中指定颜色,后者定义为:
颜色以#AARRGGBB格式表示,其中AA是alpha十六进制值,RR是red十六进制值,GG是green十六进制值,BB是blue十六进制值。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。