TLDR: 複数の重なった Fluid-Height 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>
ユーザーのアクションに基づいて、フェードアウトするときにフェードインb
しa
ます (つまり、クロスフェードします)。これには、両方を の左上隅に揃える必要がありますcontainer
。通常、position: absolute;
デフォルトtop: 0;
で使用し、left: 0;
それらを重ね合わせます。a
これに関する問題は、フローから削除されたため、コンテナーが (私が望む内容の高さではなく) 0px の高さに折りたたまれることですb
。
a
では、と で絶対配置を使用することはできませんb
。他にどうすればそれらをオーバーラップさせることができますか? 私は子供たちの高さを知らないので(彼らはその内容に基づいて動的に変化する可能性があります)、ネガティブmargin-top
も機能しません。
これはJSなしでも可能ですか?そうでない場合、A) 少数の子、container
または B) 子が固定サイズ (事前またはその他の方法でわかっている) であると仮定しない、最もハッキリしない方法は何ですか。