如果我向我的页面添加一个特定高度的绿色 div,则会按预期添加滚动条。当我删除 div 时,滚动条在所有浏览器中消失,但保留在 IE 中,白色空隙取代了 div,不知何故,删除后 div 高度未正确重新计算。
请看这个 fiddle 的现场演示,你会发现它适用于除 IE 之外的所有浏览器。
当删除 overflow:scroll
for html 标签规则时,问题似乎得到了解决,不幸的是,这不是一个选项。
我在最新版本的 IE、Chrome、FF 和 Opera 中对此进行了测试。
为什么会发生这种情况,我如何强制 IE 在插入 dom 后显示正确的高度?
请注意,当您调整窗口大小时,空白空间会立即消失,所以我只需要一种方法来实现这一点,而无需实际调整窗口大小。
最佳答案
似乎当 IE 以 100% 呈现高度时,如果它增长,它将保持最大尺寸,因为现在它是新的 100%。要让它再次收缩,而不是给它一个高度,你需要给它一个最小高度 - 将你的 html 和 body css 更改为
body, html {min-height:100%;}
这应该使您的包装器在删除绿色 block 后调整大小:
编辑
我发现使 ie 重新呈现页面的唯一方法是在 html 上设置溢出属性:
$('html').css('overflow', 'auto');
关于javascript - 删除 div 后 IE 高度 100% 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538036/