CSS:删除具有可见性的类:hidden / position:绝对不会在IE6 / 7中取消隐藏

时间:2009-05-06 22:15:56

标签: css internet-explorer

我有以下CSS类:

.hidden {
    visibility: hidden;
    position: absolute;
}

我在那个班上有div。如果我删除该类,则不显示div。但第二次我“删除它”,div显示。知道为什么吗?请参阅使用YUI的独立示例:

http://avernet.googlepages.com/ie-visibility.html(代码也可在Pastie上找到)

注意:我不能在我的情况下使用display: none(否则会有效)。

3 个答案:

答案 0 :(得分:1)

您的意思是display: none而不是visibility: hidden吗?

答案 1 :(得分:0)

看起来它与“position:absolute;”有关。如果您删除该行,或者添加

div { position:absolute; }

它也可以。

答案 2 :(得分:0)

使用IE的 nudge 技术可以解决问题。我在此维基上添加了更多信息:查找标题Cell content remains hidden on IE

以下是我们在Orbeon Forms代码中使用的 nudge 的实现:

/**
 * Nudge element after a short delay for IE6/7 to force IE to "do the right thing".
 */
nudgeAferDelay: function(element) {
    if (YAHOO.env.ua.ie != 0 && YAHOO.env.ua.ie <= 7) {
        window.setTimeout(function() {
            element.className = element.className;
        }, ORBEON.util.Utils.getProperty(INTERNAL_SHORT_DELAY_PROPERTY));
    }
}