CSS
HTML
JavaScript
PHP
Coming Soon
Generatori
Varie & Old

CSS scroll-margin-block-end

La proprietà CSS3 scroll-margin-block-end imposta un margine inferiore logico nello scroll

La proprietà scroll-margin-block-end consente di aggiungere spazio dopo un elemento quando viene scrollato in vista, agendo sull'estremità logica inferiore dell’asse verticale. Questo permette un maggiore controllo del posizionamento visivo, evitando che l’elemento scrollato sia troppo vicino al bordo inferiore della viewport.

Sintassi

scroll-margin-block-end: lunghezza;

Significato dei valori principali:

  • lunghezza: la distanza in unità CSS (px, em, rem, ecc.) da lasciare come margine logico inferiore quando l’elemento è scrollato in vista.

Il valore si applica all'estremità dell'asse block secondo la direzione di scrittura del documento. Nei layout top-to-bottom, corrisponde al margine inferiore visivo.


Esempio proprietà: scroll-margin-block-end


Codice Esempio: scroll-margin-block-end

CODE: CSSpreleva codice
  1. html {
  2.   scroll-behavior: smooth;
  3. }
  4.  
  5. .scroll-container {
  6.   overflow-y: auto;
  7.   height: 300px;
  8.   border: 2px solid #666;
  9.   padding: 10px;
  10.   max-width: 300px;
  11.   scroll-snap-type: y mandatory;
  12. }
  13.  
  14. .box {
  15.   height: 150px;
  16.   margin-bottom: 20px;
  17.   background-color: #98c379;
  18.   color: white;
  19.   font-size: 20px;
  20.   text-align: center;
  21.   line-height: 150px;
  22.   border-radius: 8px;
  23.   scroll-snap-align: start;
  24. }
  25.  
  26. .target-bottom {
  27.   scroll-margin-block-end: 60px;
  28.   scroll-snap-align: end;
  29.   background-color: #d19a66;
  30. }

Contenuto Esempio: scroll-margin-block-end


📌 Nota sull’utilizzo delle proprietà scroll-*

Le proprietà della famiglia scroll-* offrono controllo preciso sul comportamento e sul posizionamento dello scroll nei contenitori overflow. Tuttavia, la loro efficacia può variare in base al tipo di interazione, al contesto e al metodo di attivazione dello scroll. Di seguito una panoramica generale:

  • scroll-behavior: controlla se lo scroll avviene in modo fluido (smooth) o istantaneo (auto). È supportata in interazioni utente (tastiera, mouse) e via JavaScript con metodi come scrollIntoView() o scrollTo().
  • scroll-margin*: imposta uno spazio esterno virtuale tra il target dello scroll e il bordo del contenitore. È utile per evitare che l’elemento scrollato venga troppo "incollato" al bordo. Agisce solo quando l’elemento è il target di scroll (es. scrollIntoView()).
  • scroll-padding*: definisce un’area interna del contenitore da considerare come "bordo attivo" per gli snap o il focus di scroll. È efficace nei contenitori con scroll-snap-type attivo o nei layout con focus automatico.
  • scroll-snap-type: abilita lo snap agli elementi figlio durante lo scroll, obbligando (o suggerendo) l’aggancio al più vicino snap-point. Richiede layout a scorrimento (overflow) e funzionerà solo se associato a elementi figli con scroll-snap-align.
  • scroll-snap-align: definisce dove un elemento figlio deve "agganciarsi" all'interno del contenitore scrollabile (es. inizio, centro, fine). Funziona solo se il contenitore ha scroll-snap-type.
  • scroll-snap-stop: impedisce che l’elemento venga saltato durante uno scroll veloce. Utile per forzare lo stop su sezioni importanti, ma funziona solo con scroll naturali (touch, tastiera, o scrollIntoView), non con scrollTo({ left: ... }).

Compatibilità e contesto: molte di queste proprietà funzionano meglio con interazioni naturali (touchpad, touchscreen, tastiera) e possono non comportarsi come previsto quando lo scroll è simulato in modo diretto con JavaScript. Per ottenere effetti coerenti, è consigliato usare layout con display: flex o grid, dimensioni fisse e contenitori overflow con scroll-snap-type attivo.


Prova questo esempio

DEMO
PayPal DONATE

Note:
Le indicazioni dei Browser supportati sono superate grazie alla loro costante evoluzione, si consiglia di verificare la compatibilità dei vari browser eseguendo il test cliccando qui sotto.

Supporto Browser

Browser Support

I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies