IE png 与 jquery 和 css 问题

发布于 2024-09-14 22:45:38 字数 1179 浏览 3 评论 0原文

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)                 
                }

        );
}

CSS 示例中

   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;
   }

两个 png 都有透明度。我不关心IE6。

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

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

3)我需要多长时间才能在不损失该死的天数的情况下编写代码来仅修复 IE 问题?磷

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)                 
                }

        );
}

the CSS example

   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;
   }

both pngs have transparency. I don't care about IE6.

1) in IE7/IE8 on mouseover when shop_hover.png appears it doesn't have transparency, instead it shows black :S

2) why in IE if I set opacity below 1 for transparent pngs it loses transparency?

3) how long before I can code without losing friggin DAYS to fix IE problems only? P

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

东走西顾 2024-09-21 22:45:38

Png + 不透明度 + IE = 问题。它们是一个糟糕的食谱。因为我每天都会处理这个问题,所以这就是我所做的。

有几个选项可以解决 png 问题。

  1. 使用和修改 IE 的 Alpha 图像加载器。 http://msdn.microsoft.com/en-us /library/ms532969(VS.85).aspx

  2. 使用名为 dd_roundies 生成图像的 vml 版本,不会出现这些 png 问题。

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

DD_roundies.addRule('div#showcase_home div.shop');

这应该修复它们,然后悬停时图像应保持固定。

Png + opacity + IE = problems. They are a bad recipe. Since I deal with this daily here is what I do.

There are a couple options to fix the png problems.

  1. Use and tinker with IE's alpha image loader. http://msdn.microsoft.com/en-us/library/ms532969(VS.85).aspx

  2. Use a library called dd_roundies which generates a vml version of your image which won't have these png problems.

When the page loads, calls something like this:

DD_roundies.addRule('div#showcase_home div.shop');

This should fix them and then on hover the images should remain fixed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文