Parliamo

project-cherry.dev

Fondamenta9 min

Box Model

Ogni elemento HTML è un rettangolo: capire content, padding, border e margin è essenziale.

Il Box Model CSS

Ogni elemento nella pagina è un rettangolo composto da quattro strati: content, padding, border e margin. Capire il box model è la base per controllare dimensioni e spaziature.

I quattro strati

css
.card {
  /* Contenuto: larghezza e altezza */
  width: 300px;
  height: 200px;

  /* Padding: spazio interno tra contenuto e bordo */
  padding: 20px;

  /* Border: il contorno visibile */
  border: 2px solid #ccc;

  /* Margin: spazio esterno tra l'elemento e i vicini */
  margin: 16px;
}

box-sizing: border-box

Per default, width e height si riferiscono solo al contenuto. Con border-box, padding e border sono inclusi nella dimensione totale.

css
/* Applica border-box a tutti gli elementi */
*,
*::before,
*::after {
  box-sizing: border-box;
}

Margin collapsing

Quando due margini verticali si toccano, non si sommano: vince il più grande. Questo comportamento si chiama margin collapsing.

  • I margini orizzontali non collassano mai
  • Padding e border interrompono il collapsing
  • Flexbox e Grid disattivano il collapsing automaticamente