2010-08-26 67 views
1

我有问题与IE6上的PNG图像,并试图搜索每一个地方,但没有成功。 我使用这个CSS代码来显示PNG图像。是否有任何问题。 请让我现在。在背景中的PNG图像的IE 6问题

.bottom-box { 
    width: 210px; 
    float: left; 
    margin:5px; 
    position:relative; 
    padding: 5px; 
    text-align:left; 
    height: 150px; 
    min-height: 150px; 
    background-image: url(/images/trans-box.png); 
    color: #FFF; 
    line-height: 20px; 
    _background: none; 
    _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/trans-box.png', sizingMethod='scale'); 
} 

谢谢!提前。

+0

如果你告诉你所得到的以及你期望得到的东西,它总是相当有用。此外,尝试删除的CSS尽可能,而不会消除问题。另外,请在你的css之前放四个空格,这样它将被视为代码并解析。 – Jasper 2010-08-26 19:17:47

+0

你有什么问题?我猜透明.png不显示在IE中? – Pat 2010-08-26 19:18:25

+0

是的,这个图像不显示在IE6中。我搜索了很多,但得到任何正确的方法。请帮助。 – gsoni 2010-08-26 19:20:28

回答

1

IE6讨厌PNG格式,这是一个可悲的事实......但你应该尝试使用条件的意见,而不是那个下划线劈...编辑CSS是:

.bottom-box { 
    width: 210px; 
    float: left; 
    margin:5px; 
    position:relative; 
    padding: 5px; 
    text-align:left; 
    height: 150px; 
    min-height: 150px; 
    background-image: url(/images/trans-box.png); 
    color: #FFF; 
    line-height: 20px; 
} 

然后在你的HTML的HEAD添加:

<!--[if lte IE 6]> 
<style> 
.bottom-box{ 
background-image: none; 
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/images/trans-box.png, 
sizingMethod='scale'); 
} 
</style> 
<![endif]--> 

或者你可以只使用GIF或东西只为ie6,使用黑客/条件注释。 filter:属性是IE特定的BTW。

,你也可以尝试的明星黑客,代替上述条件,编辑CSS同上,但添加此规则:

* html .bottom-box{ 
    background-image: none; 
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/images/trans-box.png, 
    sizingMethod='scale'); 
} 

,因为它在技术上是有效的CSS可能更好地工作。

另外它可能会很有用,知道IE6 &这个PNG修复不能用于background-position或background-repeat。它不会将PNG作为背景进行平铺,所以我会建议使用gif或IE6。

1

IE6不直接支持PNG透明度,但可以通过CSS滤镜进行破解。但是,谢天谢地,你不需要自己动手。可以在http://www.twinhelix.com/css/iepngfix/上自动运行(并且非常好)的修复程序。安装很简单,并会动态地将适当的directX过滤器命令添加到页面中的任何PNG图像。

唯一的缺点是,由于此修复程序在加载dom之后应用,因此PNG的不透明度将会很短,因此在事情看起来像预期的那样之前会有一个简短的丑陋闪现。