Clearfix e Altezza del Genitore in CSS
Lasciamo un div con classe parent,
rimuoviamo il testo da esso, lasciando solo l'immagine
fluttuante. Come già sapete, in questo caso
l'altezza del div collasserà a zero, di esso rimarrà
solo il bordo superiore e inferiore. L'immagine
spunterà fuori dal nostro div in basso:
<div class="parent">
<img src="img.png" alt="">
</div>
.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
:
Facciamo in modo che l'immagine fluttuante
espanda il nostro div in altezza. Per questo si usa
un trucco - inseriamo dopo l'immagine un div
senza testo con classe clearfix.
La nostra immagine è un elemento fluttuante e non espande il genitore in altezza, ma il div-clearfix - non è fluttuante e influisce sull'altezza del genitore.
Poiché al div-clearfix è assegnata la proprietà clear,
risulterà che esso verrà spinto dall'immagine
in basso e starà sotto di essa, espandendo così
il genitore in altezza.
Il div-clearfix stesso è vuoto e non visibile sullo schermo, ma allo stesso tempo espande il genitore in altezza.
Quindi, proviamo:
<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;
}
: