Высота обертки div равна 0 с плавающими элементами внутри

У меня есть обертка <div>, которая содержит два внутренних <div>, которые плавают.

<div class="outside" style="border:1px solid #555;">
  <div class="inside" style="float:left; width:40px;">CONTENT</div>
  <div class="inside2" style="float:left; width:40px;">CONTENT</div>
</div>

Проблема заключается в том, что оболочка <div> имеет ширину 80 пикселей, так как два внутренних <div> равны 40px каждый. Но всегда оболочка <div> имеет высоту 0px, что делает границу видимой, как строка вверху.

Итак, я разместил два внутренних <div> внутри a <table>. Он работал хорошо. Но как мне избежать этой проблемы, не идя на <table>?

Ответы

Ответ 1

Задайте overflow: hidden для родителя.

<div class="outside" style="border:1px solid #555;overflow:hidden;">
  <div class="inside" style="float:left; width:40px;">CONTENT</div>
  <div class="inside2" style="float:left; width:40px;">CONTENT</div>
</div>

Ответ 2

Внешний div collapsing, потому что два дочерних div внутри него плавают. Самое простое исправление для этого - установить overflow: hidden; на внешний div.

Ответ 3

Попробуйте следующее:

<div class="outside" style="border:1px solid #555; overflow:auto">
<div class="inside" style="float:left; width:40px;">CONTENT</div>
<div class="inside2" style="float:left; width:40px;">CONTENT</div>
</div>//Outside container close