Clearfix i wysokość rodzica w CSS
Zostawmy jeden div z klasą parent,
usuniemy z niego tekst, zostawiając tylko pływający
obrazek. Jak już wiesz, w tym przypadku
wysokość diva zwinie się do zera, pozostanie
tylko górna i dolna ramka. Obrazek
zaś wystanie poza nasz div od dołu:
<div class="parent">
<img src="img.png" alt="">
</div>
.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
:
Sprawmy, aby pływający obrazek
rozszerzał nasz div na wysokość. Do tego używa się
sprytnej sztuczki - umieścimy po obrazku div
bez tekstu z klasą clearfix.
Nasz obrazek to element pływający i nie rozszerza rodzica na wysokość, ale div-clearfix - nie jest pływający i wpływa na wysokość rodzica.
Ponieważ div-clearfix ma ustawioną właściwość clear,
to okaże się, że będzie on odsuwany obrazkiem
w dół i stać pod nim, rozszerzając przy tym
rodzica na wysokość.
Sam div-clearfix jest pusty i niewidoczny na ekranie, ale przy tym rozszerza rodzica na wysokość.
A zatem, spróbujmy:
<div class="parent">
<img src="img.png" alt="">
<div class="clearfix"></div>
</div>
.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
.clearfix {
clear: both;
}
: