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:
<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;
}
:
Să facem bloc-descendenții plutitori la stânga și să vedem ce se întâmplă:
<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;
}
:
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:
<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;
}
: