javascript - 表不再正确附加溢出 :auto and floated container below

标签 javascript html css css-float overflow

基本上我有一个容器,其中包含一个表,该表使用 javascript 定期将数据附加到表中。有了这个,容器就有了一个适当的样式 overflow:auto 以允许它容纳更大量的数据而不会看起来很丑。

这工作正常,直到我在其下方放置了另一个容器,其属性为 float:left;。现在表格只显示第一个附加项。如果我检查该元素,我可以“看到”代码中的其他附加数据项,页面上还会出现一些数据项,但与完整表格完全不同。

如果我从包含表格的 div 中删除 overflow:auto 属性,它就可以工作(数据将打印到容器“外部”的页面)。如果我从下面的容器中删除 float:left; 属性,它也可以工作。是什么阻碍了他们一起工作?

更新:我没有在下方容器上使用 float:left,而是添加了一个清除 div,这样它就可以插入下方而无需使用 float 。但是问题仍然存在,所以看起来容器通常位于下方有问题。

代码如下。 “数据”是包含表格的容器,“下载”是位于下方的容器。如果重要,javascript 添加在下面。

<div id="data">
    <table id="data_table">
    </table>
</div>
<div id="download"></div>

样式表:

#data {
    float: left;
    width: 192px;
    height: 400px;
    border: 2px solid black;
    overflow: auto;
}

#data_table {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    border: 2px solid black;
}

#data_table td {
    border: 1px solid black;
    width: 50px;
}

#download {
    width:900px;
    float:left;
    height: 75px;
    border: 2px solid black;
}

Javascript:(如果有某种关系)

$('#data_table').append('<tr><td><?php echo $catVarValue;?></td><td><?php echo $measVarValue;?></td></tr>');

}, );

最佳答案

找到了解决问题的办法。在 firefox 中尝试后,我意识到这是一个跨浏览器问题(因为它有效)。这导致我:

Strange behavior of "overflow: auto" on Chrome

它提供了解决方案。

关于javascript - 表不再正确附加溢出 :auto and floated container below,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26988347/

相关文章:

c# - 如何在 Javascript 中序列化一个对象,然后在 asp.net 中反序列化它?

javascript - 如何使用 Angular 在 HTML 中呈现 Word 文档(.doc、.docx)

HTML SVG <image> 模糊/裁剪 Angular

css 结构选择器 :first-child

javascript - 通过 jQuery 重新排列表行,在 IE 中产生不良结果

javascript - ionic : how to have multiple tabs on the same template?

javascript - Kendo angularjs Treeview ,默认阻止父节点检查

html - 如何创建带有标题和悬停效果的图库

php - 单击按钮如何更改下拉菜单的内容?

html - 将页脚放在底部并在不重新对齐 HTML 的情况下将其扩展到全屏