floatを使用すると、親要素が高さを認識できなくなる
備忘録
float
の挙動
<div class="wrapper"> <div class="one">One</div> <div class="two">Two</div> </div>
.wrapper { width: 970px; margin: 30px auto 40px; border: 2px solid red; } .one { float: left; width: 660px; border: 2px solid green; } .two { float: right; width: 275px; border: 2px solid blue; }
構成としては、wrapper
クラスを持ったの親要素の中に、one
クラスとtwo
クラスの子要素が存在している状態。
この時、親要素の高さは子要素に合わせてほしいが、子要素がfloat
を使用しているとき、親は子の高さを認識することができない。
clear
を使用して対応する
clear
を親要素に指定することで、親は子の高さを認識できるようになる。
<div class="wrapper clearfix"> <div class="one">One</div> <div class="two">Two</div> </div>
.wrapper { width: 970px; margin: 30px auto 40px; border: 2px solid red; } .one { float: left; width: 660px; border: 2px solid green; } .two { float: right; width: 275px; border: 2px solid blue; } .clearfix::after { content: ''; display: block; clear: both; }