【问题标题】:IE6 displaying components in a hidden div (when they should be hidden!)IE6 在隐藏的 div 中显示组件(当它们应该隐藏时!)
【发布时间】:2010-09-13 00:38:21
【问题描述】:

有谁知道 IE6 是否曾经错误呈现带有隐藏 divs 的页面?我们目前有几个divs,我们显示在页面的同一空间中,一次只显示一个并隐藏所有其他。

问题是隐藏的divs 组件(特别是选项菜单)有时会显示出来。如果页面被滚动,从视图中移除组件,然后向下滚动,那么应该隐藏的组件就会消失。

我们如何解决这个问题?

【问题讨论】:

    标签: html css internet-explorer internet-explorer-6 rendering


    【解决方案1】:

    您可以使用的一个技巧是将 div 移到屏幕外:

    MyDiv.style.left = "-1000px";
    

    然后在你想展示的时候放回原来的位置。

    【讨论】:

    • 为这个想法喝彩。我可以明白为什么这应该有效,但由于某种原因它不是。甚至尝试 style.left = "-10px";没有让步。
    • 我自己使用过这种技术,在 IE 6.0 中效果很好,但我认为你的 div 需要绝对定位;否则它可能无法正常工作。
    • 按照您的建议进行操作,并将 div(及其父级)更改为绝对定位。现在可以使用了,谢谢!
    【解决方案2】:

    它们是如何隐藏的?使用 display:none;visibility:hidden; ?他们是绝对定位的吗? IE6 存在 z-Index 问题,有几个技巧可以解决。

    【讨论】:

    • 它们使用“display:none;”隐藏- 我会尝试“可见性:隐藏;”如果有帮助的话。他们绝对定位,任何解决此问题的黑客将不胜感激。
    • 是包含在另一个绝对定位还是相对定位的div中?
    • 您需要确保设置了两个 div 的“hasLayout”属性。阅读这篇关于这个特定 IE 警告的文章 - satzansatz.de/cssd/onhavinglayout.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多