回答:
次のプロパティを追加します。
.c{
...
overflow: hidden;
}
これにより、フローティング要素に関係なく、コンテナはコンテナ内のすべての要素の高さを尊重します。
http://jsfiddle.net/gtdfY/3/
最近、私はこのトリックを必要とするプロジェクトに取り組んでいましたが、オーバーフローを表示できるようにする必要があったので、代わりに疑似要素を使用してフロートをクリアし、すべての要素でオーバーフローを許可しながら同じ効果を効果的に達成できます。
.c:after{
clear: both;
content: "";
display: block;
}
あなたは子供たちを浮かせています。つまり、子供たちはコンテナの前で「浮く」のです。正しい高さを取得するには、フロートを「クリア」する必要があります
div style = "clear:both"はフローティングをクリアし、コンテナに適切な高さを与えます。フロートの詳細については、http://css.maxdesign.com.au/floatutorial/clear.htmを参照してください。
例えば。
<div class="c">
<div class="l">
</div>
<div class="m">
World
</div>
<div style="clear: both" />
</div>
最良かつ最も防弾ソリューションを追加することです::before
し、::after
コンテナにpseudoelements。たとえば、次のようなリストがあるとします。
<ul class="clearfix">
<li></li>
<li></li>
<li></li>
</ul>
そして、リストのすべての要素にはfloat:left
プロパティがあり、CSSに追加する必要があります。
.clearfix::after, .clearfix::before {
content: '';
clear: both;
display: table;
}
またはdisplay:inline-block;
、プロパティを試してみると、clearfixを追加する必要がありません。