【问题标题】:unitPngFix prevents changing "display" of hidden "div"unitPngFix 防止改变隐藏“div”的“显示”
【发布时间】:2010-09-18 16:22:23
【问题描述】:

我几乎解决了我网站上 IE 浏览器中 png 文件和透明度的大问题。

问题是,只有在 IE6 中,这不起作用。

我有这个名为 unitpngfix.js 的代码,它可以在 IE 浏览器中的网站上正确显示透明的 PNG 图像。

我有一个带有 png 图像的 DIV,如下所示:

<div id="pop" class="pop_komm">
<img src="Graphics/komm.png">
</div>

css:

.pop_komm {
position: absolute;
z-index: 20;
height: 52px;
width: 208px;
left: 760px;
top: 239px;
display:none;
zoom:1;
 }

我有一个非常基本的 js 代码来使容器可见:

 document.getElementById("pop").style.display='block';
 //This triggers on a drop list change event, so this DIV shows when I change a drop list value

但是这行不通。 IE6 中没有任何显示。如果我完全删除 unitPngFix,则 DIV 会显示 PNG 文件,但透明度不起作用。

另外,如果我反转 js 函数并“隐藏”DIV 而不是显示它:

    display='none';

然后它工作正常! 换句话说,当 DIV 被隐藏时,unitPngFix 会阻止显示 PNG 文件。我怀疑这里有错误!?

有什么帮助吗?

这里是UnitPngFix 网站

谢谢

PS:我也会标记 JQuery,因为我可能不得不用它来解决这个问题,但我更喜欢纯 js,因为网站目前仅使用它构建。

【问题讨论】:

    标签: javascript jquery css internet-explorer browser


    【解决方案1】:

    不要隐藏它,而是设置一个巨大的左偏移,并且应该应用 PNG 修复。然后为了显示它,将left 设置为可见的合法值。

    left:-9999em 然后显示它,left:760px

    【讨论】:

      猜你喜欢
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多