IE png与jquery和css问题

IE png与jquery和css问题,jquery,internet-explorer,png,Jquery,Internet Explorer,Png,CSS示例 function fadehomepage() { //Set opacity to 0 $('#showcase_home > div > a').css({'opacity':'0'}); $('#showcase_home > div').hover( function () { var selected_div =

CSS示例

function fadehomepage() {

        //Set opacity  to 0
         $('#showcase_home > div > a').css({'opacity':'0'});



        $('#showcase_home > div').hover(    

                function () {
                      var selected_div = $(this).attr("class") + "_hover";
                      $(this).find('.' + selected_div).stop().fadeTo(500, 1)                 
                 },

                function () {
                      var selected_div = $(this).attr("class") + "_hover";
                      $(this).find('.' + selected_div).stop().fadeTo(300, 0)                 
                }

        );
}
两个PNG都具有透明度。我不在乎IE6

1) 在IE7/IE8鼠标悬停模式下,当shop_hover.png出现时,它没有透明度,而是显示黑色:S

2) 为什么在IE中,如果我将透明PNG的不透明度设置为低于1,它将失去透明度


3) 要多久我才能编写代码而不浪费该死的几天时间来修复IE问题?P

Png+opacity+IE=问题。这是一个糟糕的食谱。因为我每天都在处理这件事,所以我就是这样做的

有几个选项可以修复png问题

  • 使用并修补IE的alpha图像加载器

  • 使用名为的库生成图像的vml版本,不会出现这些png问题

  • 当页面加载时,调用如下内容:

       div#showcase_home div.shop{
           background:url(img/shop.png) no-repeat top;
           margin-right:0;
       }
       .shop_hover{
           background: url(img/shop_hover.png) no-repeat top;
           width: 290px;
           height:230px;
           display:block;
           padding:0;
           margin:0;
       }
    

    这应该可以修复它们,然后在悬停时图像应该保持不变。

    问题3-可能永远不会。虽然IE9看起来非常非常好。也许10年后吧。我试过DD.roundies,它可以工作,但悬停类实际上是ok,它可以用于边框和png,它实际上会破坏几乎所有其他元素,比如href,opacity,margin=无用。还有其他选择吗?
    DD_roundies.addRule('div#showcase_home div.shop');