2010-07-28 94 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');