親divに含まれるdivの2つの列(左と右)があります。左または右のdivの高さが拡張されたときに、親のdivの高さが自動的に調整されるようにします。私が今抱えている問題は、左が拡張すると親divの高さが拡張するだけで、右側では機能しないことです。私はすべてのdivに対してheight:autoを持っています。
誰かが解決策を持っていますか?
親divに含まれるdivの2つの列(左と右)があります。左または右のdivの高さが拡張されたときに、親のdivの高さが自動的に調整されるようにします。私が今抱えている問題は、左が拡張すると親divの高さが拡張するだけで、右側では機能しないことです。私はすべてのdivに対してheight:autoを持っています。
誰かが解決策を持っていますか?
div を並べて配置している可能性があります。そうすることで、「これらの div をフローから削除」します。つまり、親はそれらをコンテンツとして取りません。
overflow: hidden
親に与えるか、明確なdivを追加することで、この効果を「バイパス」できます。
オーバーフローのある例: http://jsfiddle.net/BramVanroy/LJTGh/
重要な CSS:
#wrapper {
height: auto;
width: 77%;
margin: 20px auto;
overflow: hidden; /*THIS IS IMPORTANT */
border: 1px solid;
}
また
クリア付きの例: http://jsfiddle.net/BramVanroy/LJTGh/1/
重要な CSS:
.clear {clear: both;}
最初のオプションでは 1 行多くの CSS が必要であり、2 つ目のオプションでは 1 行多くの HTML と 1 行多くの CSS が必要です。
float
たとえば、これを行うことができます
<div class="parent" style="float:left">
<div class="child" style="float:left"></div>
<div class="child" style="float:left"></div>
</div>
おそらくfloat
、右側の div を右側に移動するために使用しています。float は親の高さを自動的に調整しません。parent の末尾の直前に次のコードを追加する必要がありますdiv
。
<br style="clear:both;" />
これにより、同じレベルのすべてのフロートが終了します。