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