2010-08-24 182 views
3

我有以下兩張圖片。Internet Explorer:半透明圖像

它們是相同的圖像,其中一個對文本有輕微的發光效果。

他們是如下設置:

<div id="header"><a></a></div> 枝條原始圖像是對DIV的背景,和「光暈」的形象是爲錨標記上的背景,與display:block; width: 100%; height: 100%;opacity: 0;

我是使用下面的jQuery代碼

$('#header a').hover(
    function() {$(this).animate({"opacity":"1"}, 1000);}, 
    function() {$(this).animate({"opacity":"0"}, 1000);}); 

淡入淡出錨點圖像。

這工作正常在Firefox,鉻電子等。 但在Internet Explorer中,圖像具有透明度的純黑色背景。

我該如何解決這個問題?

注:我只擔心IE7/8沒有6.

http://webspirited.com/header-reachsniper.png http://webspirited.com/header-reachsniper-hover.png


更新
我已決定,這根本就不是值得我的時間在互聯網做探險家。

但是,這在ie9中完美的工作,所以我想生病刪除瀏覽器這個效果少ie9。

回答

2

爲了設置透明PNG圖像的不透明度,您需要使用AlphaImageLoader篩選器,即使在IE8中使用

編輯:您還需要添加alpha過濾器的CSS,像這樣:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="path", sizingMethod="scale"),alpha(opacity=100); 

否則,jQuery將它添加alpha過濾器清除現有的過濾器。

+0

使用alphaImageLoader加載圖像'懸停'圖像在頁面加載時顯示,然後當您將鼠標懸停在鏈接上時,它將消失,直到您刷新頁面。 我該如何解決這個問題? – Hailwood 2010-08-24 06:08:39

+0

@Hailwood:我忘了提及你還需要在CSS中明確添加'alpha'過濾器。 – SLaks 2010-08-24 11:48:42

0

這篇文章來自Dave Shea的mezzoblue.com可以幫助你:http://mezzoblue.com/archives/2010/05/20/ie8_still_fa/

它指出的是,他嘗試了方法,最終的解決方案,他到達終點:

什麼做的工作是一個小庫 調用DD_belatedPNG,通過VML而不是 AlphaImageLoader應用PNG 透明度。它專爲 IE6設計,但它在IE7中工作得很好,因爲它的井號爲 。對於IE8,我被迫將 從X-UA-Compatible元標記和 步IE8下降到IE7模式下的這個 特定頁面。

有了一個小小的警告末

這還不夠完善。我注意到一個 微弱的白色邊界框戳穿 通過在較低的不透明度,迫使我微調所有版本的IE的懸停效果 。但是你知道, 對於所有這一切,它是好的 足夠。