overflow controlla cosa succede quando il contenuto è troppo grande per la sua casella — se viene ritagliato, scorre o fuoriescii.
{ : visible; }
{ : hidden; }
{ : scroll; }
{ : auto; }
.box {
overflow-x: hidden; /* clip horizontal */
overflow-y: auto; /* scroll vertical when needed */
}
Un pattern comune: prevenire l'overflow orizzontale mentre si consente lo scorrimento verticale.
.scroll-area {
max-height: 400px; /* constrain the height */
overflow-y: auto; /* content beyond 400px scrolls */
}
La chiave: un contenitore di scorrimento ha bisogno di una dimensione vincolata (height/max-height) più overflow: auto. Senza un limite di dimensione, la casella si espande semplicemente e non scorre mai.
.clearfix { overflow: hidden; } /* contains floats / stops margin collapse */
Impostare overflow su qualsiasi valore diverso da visible stabilisce un nuovo block formatting context, che contiene i figli flottanti e previene il collasso dei margini — storicamente utilizzato come "clearfix".
.gallery {
overflow-x: auto;
scroll-snap-type: x mandatory; /* snap to items while scrolling */
overscroll-behavior: contain; /* stop scroll "chaining" to the page */
}
.gallery > * { scroll-snap-align: start; }
scroll-snap crea caroselli senza JS; overscroll-behavior impedisce a un pannello scrollato di scorrere anche la pagina dietro (ottimo per modali/finestre di chat).
overflow governa le aree di scorrimento, il ritaglio del testo (con text-overflow: ellipsis), e il comportamento di scorrimento modale/pannello.
Sapere che i contenitori di scorrimento hanno bisogno di un vincolo di dimensione, che overflow crea un formatting context, e che gli helper moderni (scroll-snap, overscroll-behavior) coprano le esigenze pratiche di layout e UX intorno all'overflow.