CSSにおけるテキストのない親要素とfloatプロパティ

ここでは、テキストはなく、クラス parent を持つdivと、 クラス child を持つ二つの子ブロックがあるとします:

html<div class="parent">
  <div class="child">1</div>
  <div class="child">2</div>
</div>
css.parent {
  width: 500px;
  border: 1px solid red;
  text-align: justify;
}
.child {
  width: 200px;
  height: 100px;
  border: 1px solid green;
}

Результат:

子ブロックを左にフロートさせ、どうなるか見てみましょう:

html<div class="parent">
  <div class="child">1</div>
  <div class="child">2</div>
</div>
css.parent {
  width: 500px;
  border: 1px solid red;
  text-align: justify;
}
.child {
  float: left;
  width: 200px;
  height: 100px;
  border: 1px solid green;
}

Результат:

見ての通り、子ブロックは横一列に並びましたが、 親要素の高さがなくなり、ブロックが下にはみ出してしまいました。

この動作はすでにご存知ですね。この問題を解決するには クリアフィックスを使用する必要があります。 実装してみましょう:

html<div class="parent">
  <div class="child">1</div>
  <div class="child">2</div>
  <div class="clearfix"></div>
</div>
css.parent {
  width: 500px;
  border: 1px solid red;
  text-align: justify;
}
.child {
  float: left;
  width: 200px;
  height: 100px;
  border: 1px solid green;
}

.clearfix {
  clear: both;
}

Результат:

Задание 1

以下のサンプルに従ってページを再現してください:

Задание 2

以下のサンプルに従ってページを再現してください: