【发布时间】:2013-09-16 10:26:39
【问题描述】:
TLDR:如何让容器包装多个叠加的流体高度 div?
我有一个包含一些对象的 div:
<div class="container">
<div class="a" style="height: 300px;">Tab page a</div>
<div class="b" style="height: 100px; display: none;">Tab page b</div>
<div class="c" style="height: 200px; display: none;">Tab page c</div>
...
</div>
基于用户操作,我想在 a 淡出时淡入 b(即交叉淡入淡出)。这要求它们都与container 的左上角对齐。通常,我只会使用 position: absolute; 和默认值 top: 0; 和 left: 0; 来叠加它们。这样做的问题是,容器会塌陷到 0px 高(而不是我想要的其内容的高度),因为 a 和 b 已从流程中删除。
好的,所以我不能在 a 和 b 上使用绝对定位。我还能如何让它们重叠?否定的margin-top 也不起作用,因为我不知道孩子的身高(他们可以根据内容动态变化),并且可以有任意数量。
如果没有 JS,这甚至可能吗?如果不是,那么不假设 A)container 中的少数孩子或 B)孩子的大小是固定的(提前或以其他方式知道),那么最简单的方法是什么。
【问题讨论】:
标签: javascript jquery css layout