CSSにおけるテキストのない親要素とfloatプロパティ
ここでは、テキストはなく、クラス parent を持つdivと、
クラス child を持つ二つの子ブロックがあるとします:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
</div>
.parent {
width: 500px;
border: 1px solid red;
text-align: justify;
}
.child {
width: 200px;
height: 100px;
border: 1px solid green;
}
:
子ブロックを左にフロートさせ、どうなるか見てみましょう:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
</div>
.parent {
width: 500px;
border: 1px solid red;
text-align: justify;
}
.child {
float: left;
width: 200px;
height: 100px;
border: 1px solid green;
}
:
見ての通り、子ブロックは横一列に並びましたが、 親要素の高さがなくなり、ブロックが下にはみ出してしまいました。
この動作はすでにご存知ですね。この問題を解決するには クリアフィックスを使用する必要があります。 実装してみましょう:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="clearfix"></div>
</div>
.parent {
width: 500px;
border: 1px solid red;
text-align: justify;
}
.child {
float: left;
width: 200px;
height: 100px;
border: 1px solid green;
}
.clearfix {
clear: both;
}
: