我几乎解决了我网站上 IE 浏览器中 png 文件和透明度的一个大问题。
问题是只有在 IE6 中,这不会工作。
我有一段名为 unitpngfix.js 的代码,它可以在我的网站上的 IE 浏览器中正确显示透明的 PNG 图像。
我有一个 DIV,里面有一个 png 图像,如下所示:
<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,因为该网站目前仅使用它构建。
最佳答案
不是隐藏它,而是设置一个巨大的左偏移量,PNG 修复应该适用。然后为了显示它,将 left
设置为可见的合法值。
left:-9999em
然后显示它,left:760px
关于javascript - unitPngFix 防止更改隐藏的 "display"的 "div",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742442/