我可以在IE中使用带渐变的透明色吗?
我试过了
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=transparent, endColorstr=red);
Run Code Online (Sandbox Code Playgroud)
奇怪的是,即使在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
);
}
Run Code Online (Sandbox Code Playgroud)
这是一个有效的例子.我已经在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是蓝色十六进制值.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
Run Code Online (Sandbox Code Playgroud)
所以:
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#000000FF, endColorstr=red);
Run Code Online (Sandbox Code Playgroud)
而且,没有经过测试,但我听说0也有效.然后是startColor,而不是startColorstr.