我有以下CSS类:
.hidden {
visibility: hidden;
position: absolute;
}
我在那个班上有div。如果我删除该类,则不显示div。但第二次我“删除它”,div显示。知道为什么吗?请参阅使用YUI的独立示例:
http://avernet.googlepages.com/ie-visibility.html(代码也可在Pastie上找到)
注意:我不能在我的情况下使用display: none
(否则会有效)。
答案 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));
}
}