jquery - IE8 隐藏内容后 wrapper 的高度还是一样的

标签 jquery html css internet-explorer-8 height

前言

我又遇到了一个奇怪的 Internet Explorer 问题,我碰壁了。 更准确地说,是IE8。我在IE7也测试过,没有问题,所以IE8有点问题..

注意有一个 JSFiddle example在这篇重现我的问题的帖子底部。


快速解释

我有这个 ul,它用于在单击 span.content_head 时扩展/收缩内容。默认情况下,首先显示内容。

<div id="spreadsheet_overview">
    <ul class="overview_list">
        <li>
            <div class="content_head">
                <div class="indicator"></div>
                Recipe calculation
                <div class="summation">
                    <span class="title">1 tablet cost:</span>
                    <span class="value">0.09360828</span>
                </div>
            </div>
            <div class="container">Lots of content</div>
        </li>
    </ul>
</div>
$("div.content_head").click(function(e){
    $(this).next(".container").toggle();
    $("div.indicator",this).toggleClass("contracted");
});

问题

点击签约时出现问题。让我首先向您展示它在 Firefox 中的外观以及它的工作原理。

enter image description here
该文件包括

  • body - 略带深灰色
  • wrapper ,亮灰色
  • 分隔栏,深灰色
  • 更多分隔线,白色

可以看到,文档在“配方计算”后结束,文档的高度已经调整,去掉了垂直滚动条。
包装器也调整了它的高度。

但是,在 Internet Explorer 8 中,当我执行相同的操作时,包装器会保持其高度,就好像内容仍在显示一样。为什么在IE中不调整高度?

enter image description here

我已经检查过了,高度和隐藏内容之前完全一样。

如果这是一个 CSS 问题(我确定是),它可能是什么?


JSFiddle

Here's a JSFiddle可以重现我的具体问题。我已尝试将 CSS 缩减到只包含本期中的元素。
这可能是我用 CSS/HTML 完成的。
希望你们中的一个能发现它,因为我绝对不能...

点击“Recipe calculation”会隐藏内容,你会发现高度还是一样的。在 IE8 中。

感谢您的帮助!

编辑

w3d 指出,在开发人员工具中切换 height: auto 属性时,将调整包装高度。经过进一步调查,当我调整窗口大小时,它会做同样的事情。

最佳答案

改变:

.fix{display: inline-block;}

收件人:

.fix{display: block;}

IE 不知道内联 block 是什么。

关于jquery - IE8 隐藏内容后 wrapper 的高度还是一样的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079748/

相关文章:

javascript - 根据 'more detail' 字段对有条件启用的 'parent' 表单字段进行分组的优雅方法

javascript - 如何在浮线图中的x轴上显示时间?

html - DIV 重叠在提交订单的顶部 INPUT 按钮在 IE7 中无法正常工作

html - 使用 <a> 或 <div> 作为图像按钮

html - 为较小的屏幕在 div 之间创建空间

html - Css 网格系统内联 block

jquery - 元素位置

javascript - 如何使表单(html、jsp)中的文本字段仅接受 dd/mm/yyyy 格式而不单击提交按钮

html - 链接变透明

html - 使单元格用其文本填充可用空间,但不添加空格