2010-08-26 70 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的不透明度將會很短,因此在事情看起來像預期的那樣之前會有一個簡短的醜陋閃現。