Proprietatea float și părintele fără text în CSS

Să presupunem că avem un div cu clasa parent fără text, dar cu două blocuri-descendenți cu clasa 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;
}

Результат:

Să facem bloc-descendenții plutitori la stânga și să vedem ce se întâmplă:

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;
}

Результат:

După cum vedem, blocurile-descendenți s-au aliniat în șir, însă, înălțimea părintelui a dispărut și blocurile noastre au ieșit în afara lui în jos.

Acest comportament ne este deja cunoscut. Pentru rezolvarea problemei trebuie folosit clearfix. Să facem acest lucru:

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

Repetați pagina după acest model:

Задание 2

Repetați pagina după acest model: