在IE5 +中设置div的不透明度/过滤器

时间:2013-02-27 20:53:56

标签: javascript internet-explorer html filter opacity

是的我在网上看过很多关于这个问题的帖子,但我似乎无法使用Internet Explorer 5+工作。

var container_div = document.getElementById(id);       
var container_filter = 0;
container_div.style.filter = container_filter;

这适用于所有其他标准浏览器。

var container_div = document.getElementById(id);       
var container_opacity = 0;
container_div.style.opacity = container_opacity;

1 个答案:

答案 0 :(得分:1)

IE5? 严重 ???

无论如何,简短的回答是IE的filter风格要复杂得多,因为它处理许多不同的效果。您需要设置整个过滤字符串,而不仅仅是整数值。

语法非常复杂,在Javascript中使用起来也不是很容易。结果也可能有点昙花一现;它并不总能很好地工作,即使你做得对。

我会指向第三方Javascript库,而不是试图告诉您如何使filter正常工作,而不是cssSandpaper

cssSandpaper是一个JS库,它在旧版本的IE中实现了几个现代CSS功能。

然后您可以使用CSS为IE设置不透明度:

opacity: 0.3;

...或者像这样的Javascript:

cssSandpaper.setOpacity(container_div, 0.3);

这些示例都是根据我上面链接的页面上的文档。

注意:我非常怀疑这个库是否适用于IE5,但坦率地说,不要让你担心。如今大多数人甚至都支持IE6,这被认为是浪费时间。