div 内のフローティング要素、div の外側にフローティング。なぜですか? 質問する

div 内のフローティング要素、div の外側にフローティング。なぜですか? 質問する

たとえば、 がありdiv、それに定数値を与えwidth、その中に要素を配置します。私の場合は、 とimg別の ですdiv

アイデアとしては、コンテナのコンテンツによってdivコンテナdivが引き伸ばされ、コンテンツの背景になるというものです。しかし、これを実行すると、コンテナはdiv非フローティング オブジェクトに合わせて縮小され、フローティング オブジェクトは完全に外側に出るか、半分外側、半分内側になり、大きな のサイズにはまったく影響しませんdiv

heightなぜでしょうか? 何か見落としている点があるのでしょうか。また、フロートされたアイテムを、包含する のを引き伸ばすにはどうすればよいのでしょうかdiv

ベストアンサー1

最も簡単なのは、overflow:hidden親 div に配置して高さを指定しないことです。

#parent { overflow: hidden }

もう 1 つの方法は、親 div もフロートすることです。

#parent { float: left; width: 100% }

別の方法としては、clear 要素を使用します。

<div class="parent">
   <img class="floated_child" src="..." />
   <span class="clear"></span>
</div>

CS

span.clear { clear: left; display: block; }

おすすめ記事