IE中的alpha透明度解决方案

时间:2009-12-05 15:26:32

标签: internet-explorer-6 png-24 alpha-transparency

我正在构建一个网站,其中包含一系列具有透明背景的png-24文件。在IE 6中,他们显然没有正确显示,所以我需要一些可靠的,良好的解决方案,它将解决IE中的PNG问题并且需要很少的工作并且可靠。有什么好主意吗?

5 个答案:

答案 0 :(得分:2)

对于IE6透明度,我遵循个人流程:

1。如果只有一个或两个PNG图像(如徽标或普通图像),我只使用filter

#selector {background:none; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.png', sizingMethod='crop');}

问题:如果应用于链接,则不再可以点击。可能适用于h1#logo并使a透明。

2. 如果我有很多24位PNG文件或特殊用例(重复背景等),我会使用DD_belatedPNG

IE7 + IE8的重要事项:您无法动画或组合filter:alpha(用于IE中元素的整体opacity,也可用于jQuery设置具有24位透明PNG图像的opacity)属性。它将其更改为8位透明度,所有不是100%不透明或透明的黑色背景。

答案 1 :(得分:1)

答案 2 :(得分:1)

网上有很多 IE PNG修复,基本上都使用相同的技术。较旧的Internet Explorer不直接支持PNG中的alpha,但它们都有一个过滤器可以执行此操作。因此,将以下代码编写为对象的CSS的一部分会将src中的图像放入元素的背景中:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png');

这样,您可以轻松地在Internet Explorer中显示透明度。但是,获取其中一个png修复脚本(在JavaScript中)并将其包含在条件注释内的页面中要容易得多。然后脚本将使您的所有图像自动运行。

答案 3 :(得分:0)

我们使用了Dean Edwards'IE7。 (在IE7出现之前就这么命名了。)这种情况很好。

答案 4 :(得分:-1)

目前有很多选择可以实现这一目标。该标准是通过CSS应用DirectX过滤器来改变使IEG中的PNG透明。当网页从IE6或更少的客户端加载时,甚至有脚本会自动执行此操作。

http://www.google.com/search?btnG=1&pws=0&q=transparent+png+ie6