2010-07-28 60 views
0

我有它在CSS中设置为背景图像比内容部分稍大,以便有一个影子在y方向重复,但在IE中它不显示透明度。我已经使用谷歌尝试解决这个问题,没有运气在CSS中完成图像。在IE浏览器中的PNG文件的透明度

CSS:

#shadow{ 
width:854; 
margin-left:auto; 
margin-right:auto; 
text-align:left; 
background-image:url(shadow.png); 
background-repeat:repeat-y; 
} 

HTML:

<div id="shadow"> 
</div> 

任何帮助是极大的,在这个总损失赞赏,因为我。

+3

哪个版本的IE? – 2010-07-28 21:05:20

+1

嗯,我看到它可能在Javascript中,但这不是一个真正的选项,因为它可以关闭,我不真正了解我在这个上下文中看到的与css解决方案作为背景的div。 – SamRowley 2010-07-28 21:06:16

+0

我正在测试版本6,这很可能是网站将被浏览。 – SamRowley 2010-07-28 21:07:32

回答

1

一种IE6很不错的PNG修复,可以发现here

我用它,并能保证ü它的工作原理。

虽然是JS,但大多数人最近开启了它

7

如果可能的话,你让png成为gif,每个人都很开心。

如果这是不可能的,我使用的方法是IE只有css behavior

随着behavior您可以链接到一个HTC文件,就像找到了一个位置:http://www.twinhelix.com/css/iepngfix/

,您将不得不添加CSS一样:

behavior: url(iepngfix.htc)

+0

因为你的目标是ie6,所以我会继续提供gif的建议。另一种选择是使用像 这样的CSS规则filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src ='shadow.png',sizingMethod ='scale'); – DaveS 2010-07-28 21:15:00

+0

这是迄今为止最简单的路线。 – Mike 2010-07-28 23:03:19

1

上述所有可能的工作,特别是alpha图像加载器,这很好,如果你打算使用它并想在将来依靠它,那么你最好使用另一种技术。

我发现,最好的是:DD_belatedPNG.js

它的工作原理likke一个treeat,是非常容易使用。

我与其他人的问题在于,当您想要使用出现在bg顶部的链接时存在错误。他们不工作,没有进一步的黑客。

+0

为什么IE6的技术会停止工作?您是否参与了微软的某个计划,以在某些时候改变IE6的行为? – 2010-07-28 22:28:36

3

IE7支持png透明。 如果你想支持IE6,你可以使用浏览器大门(这是一个丑陋的黑客)。在你的CSS

使用选择哪个IE < 7不支持:

html>body #transparent_png { 
    background: url(gfx/transparent_png.png); 
    background-repeat: no-repeat; 
} 

#transparent_png { 
    /* additional properties here */ 
} 

在html>体#transparent_png风格是由IE6忽略。然后,我们在独立的.css文件中使用丑陋的DXImageTransform-filter来透明地显示IE6中的png。 但如果IE版本低于7这个CSS应该只被加载:

HTML标题:

<!--[if lt IE 7]> 
    <style type="text/css" media="screen, projection"> 
    @import "iefixes.css"; 
    </style> 
<![endif]--> 

的iefixes。css包含这样的内容:

#transparent_png { 
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/transparent_png.png'); 

} 

不幸的是,此过滤器不支持repeat-x或repeat-y。但是有了这道门槛,你可以为IE 6显示丑陋的gif阴影,而不是更好的png阴影:)。

不过,也有sizingMethod属性为DXImageTransform过滤器(见http://msdn.microsoft.com/en-us/library/ms532920%28VS.85%29.aspx),所以你可以缩放图片以适应其容器元素的大小:

filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/transparent_png.png',sizingMethod='scale');