Css Clearfix

Capita spesso di sistemare all’interno di un div altri div con la proprietà float settata, e di trovarsi davanti al problema del div che non si estende o assume l’altezza uguale a quella dei div al suo interno, cioè quelli con la proprietà float settata!

Come possiamo risolvere questo spiacevole inconveniente??

Grazie ai css con l’uso di uno pseudo-elemento nel caso specifico :after

definiamo una semplice classe da applicare al div contenitore, volendo potete intervenire direttamente sull’oggetto non cambia niente, ma se abbiamo altri contenitori nella stessa situazione possiamo riutilizzare la classe e quindi senza andar a riscrivere le stesse cose per un altro oggetto.

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; 
}

Spieghiamo brevemente queste poche righe:

con :after aggiungiamo un qualcosa alla fine del nostro div contenitore.
con content:”.” inseriamo di fatto questo qualcosa che nel nostro caso abbiamo scelto banalmente un puntino.
con display:block settiamo questo qualcosa come elemento di blocco, dato che la proprietà clear non può essere applicata ad un elemento inline.
con height: 0 settiamo l’altezza di questo contenuto a zero in modo che non occupi spazi visibili all’interno del div contenitore.
con clear:both facciamo in modo che questo contenuto si posizioni al di sotto dei div floatati.
ed in fine con visibility:hidden nascondiamo il contenuto stesso.

Potete visionare un esempio a questo link