1

在 IE8 中需要帮助。

我的代码中有许多具有属性"display:none"样式的 div

<div>
     <div id=div1 style="display:none">
        ....some lines of code....
     </div>
     <div id=div2 style="display:none">
        ....some lines of code....
     </div>
     <div id=div3 style="display:none">
        ....some lines of code....
     </div>
     <div id=div4 style="display:none">
        ....some lines of code....
     </div>
</div> //outer div

在 jquery 代码中,div 是根据条件使用 show 和 hide 动态显示的。

一个 div 的高度(例如) div1 = 100px 其中另一个 div 的高度(例如) div4 = 1000px

问题是,当页面加载时显示最低高度为 100px 的 div1 以及使用 show 函数显示其他 div 时。它们与页脚重叠。

如果外部 div 的高度设置为最大 div 高度,即。1000px,然后当显示其他 div 时,页面不必要地长。

即使外部 div 的 max-height 设置为 1000px,它也不会动态变化并且会发生重叠。

调整窗口大小会动态改变高度。但是当其他选项卡打开时,窗口的大小调整不起作用。窗口大小的最小变化也不足以消除重叠。

尝试将 display:none 更改为 visibility:hidden 但页面对于最小高度 div 来说是不必要的长。

这只发生在 IE8 中,不知道其版本以下的浏览器。在 IE9、chrome 和 mozilla 中完美运行。

4

1 回答 1

0

Atlast 我找到了答案,

而不是调整窗口大小,在显示/隐藏之后添加代码

//Javascript
document.body.className = document.body.className;

//Jquery
$('body')[0].className = $('body')[0].className;

工作正常

谢谢。

于 2013-06-27T14:11:48.247 回答