javascript - 删除 div 后 IE 高度 100% 不正确

标签 javascript css internet-explorer

如果我向我的页面添加一个特定高度的绿色 div,则会按预期添加滚动条。当我删除 div 时,滚动条在所有浏览器中消失,但保留在 IE 中,白色空隙取代了 div,不知何故,删除后 div 高度未正确重新计算。

请看这个 fiddle 的现场演示,你会发现它适用于除 IE 之外的所有浏览器。

http://jsfiddle.net/nzbrg/16/

当删除 overflow:scroll for html 标签规则时,问题似乎得到了解决,不幸的是,这不是一个选项。
我在最新版本的 IE、Chrome、FF 和 Opera 中对此进行了测试。

为什么会发生这种情况,我如何强制 IE 在插入 dom 后显示正确的高度?

请注意,当您调整窗口大小时,空白空间会立即消失,所以我只需要一种方法来实现这一点,而无需实际调整窗口大小。

最佳答案

似乎当 IE 以 100% 呈现高度时,如果它增长,它将保持最大尺寸,因为现在它是新的 100%。要让它再次收缩,而不是给它一个高度,你需要给它一个最小高度 - 将你的 html 和 body css 更改为

body, html {min-height:100%;}

这应该使您的包装器在删除绿色 block 后调整大小:

http://jsfiddle.net/nzbrg/6

编辑

我发现使 ie 重新呈现页面的唯一方法是在 html 上设置溢出属性:

$('html').css('overflow', 'auto');

http://jsfiddle.net/nzbrg/13/

关于javascript - 删除 div 后 IE 高度 100% 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538036/

相关文章:

javascript - 动画 Accordion : how to make it work with variable height

javascript - 从输入(类型 "button")更改为按钮标签不起作用

jquery - ajax替换后CSS不工作

java - 如何使用 Selenium WebDriver 和 Java 选择单选按钮?

internet-explorer - IE10 中奇怪的翻译+溢出错误

javascript - ReactJS 在无效页面上隐藏标题 (404)

javascript - Angular Protractor : No specs found

javascript - 浏览器默认字体的CSS

javascript - 如果链接为空,如何隐藏图标

javascript - 当对象具有 "Expected identifier"作为属性名称时,来自 IE8 和 IE7 的 "new"错误