2011-02-03 53 views
3

我正在运行fadeIn()和fadeOut()在一个div的块中有一个PNG图像,半透明基金(有影子)。jquery - 在PNG图像中的fadeIn()和fadeOut()。 IE8中的边框实体(黑色)...?

http://jsfiddle.net/k3KUj/8/embedded/

在IE 8,当你运行淡入()和淡出()出现在硬边,但很快消失。在Firefox中,没关系。

逻辑在PNG中应用背景颜色(例如,与上面的链接,背景颜色应该是浅灰色),它的工作原理。

但不想在PNG中放置背景颜色。我试图让黑边不会出现在IE 8中,即使你有PNG图像的透明度。

寻找在forum响应,尝试:

-MS-滤波器: “的progid:DXImageTransform.Microsoft.gradient(startColorstr =#00FFFFFF,endColorstr =#00FFFFFF)”;/* IE8 /
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr =#00FFFFFF,endColorstr =#00FFFFFF);/
IE6 & 7 */
zoom:1;

并查看jquery IE Fadein and Fadeout Opacity

$( '#集团')的CSS( '过滤器', 'α(不透明度= 40)')。

并查看fadeIn/fadeOut jquery problem with IE7/8 & png

$( “#集团”)的CSS( '过滤器', '无')。

但是,不起作用。任何新的想法,没有在图像背景中应用任何颜色透明?

谢谢,维尼修斯。

+0

有关为什么当你有(半)透明图像的时候,jQuery的褪色效果如此糟糕,这可能会有所帮助:http://stackoverflow.com/questions/1156985/jquery-cycle-ie7-transparent-png-问题 – 2011-02-11 18:56:40

回答

1

定义了坚实的背景颜色给你的形象:

 
    .container img { 
     background-color: white; 
    } 

定义图像的背景图像 CSS属性的SRC属性:

 
    $('.holder-thumbs li a img').each(function() { 
     $(this).css('background-image', $(this).attr('src')); 
    }); 

优点:你不不需要更改标记

缺点:有时应用为橄榄色背景颜色不是一个可接受的解决方案。它通常是为我。