CSS
HTML
JavaScript
PHP
Coming Soon
Generatori
Varie & Old

CSS scroll-margin-inline

La proprietà CSS3 scroll-margin-inline imposta margini orizzontali nello scroll

La proprietà scroll-margin-inline permette di definire lo spazio orizzontale da mantenere tra un elemento scrollato in vista e i bordi laterali della viewport. Utilizza assi logici inline-start e inline-end, rendendola ideale per layout multilingua e bidirezionali (es. LTR e RTL).

Sintassi

scroll-margin-inline: start end;

Significato dei valori principali:

  • start: margine applicato all'inizio dell'asse orizzontale logico (in genere il lato sinistro nei layout LTR).

  • end: margine applicato alla fine dell'asse orizzontale (in genere il lato destro nei layout LTR).

  • Se viene specificato un solo valore, esso viene applicato a entrambi i lati (scroll-margin-inline: 40px; equivale a scroll-margin-inline: 40px 40px;).


Esempio proprietà: scroll-margin-inline


Codice Esempio: scroll-margin-inline

CODE: CSSpreleva codice
  1. html {
  2.   scroll-behavior: smooth;
  3. }
  4.  
  5. .scroll-container {
  6.   overflow-x: auto;
  7.   white-space: nowrap;
  8.   border: 2px solid #ccc;
  9.   padding: 20px;
  10.   width: 290px;
  11.   scroll-snap-type: x mandatory;
  12. }
  13.  
  14. .box {
  15.   display: inline-block;
  16.   width: 230px;
  17.   height: 150px;
  18.   margin-right: 20px;
  19.   background-color: #61afef;
  20.   color: white;
  21.   font-size: 18px;
  22.   text-align: center;
  23.   line-height: 150px;
  24.   border-radius: 10px;
  25.   scroll-snap-align: start;
  26. }
  27.  
  28. .target-inline {
  29.   scroll-margin-inline: 50px;
  30.   background-color: #e06c75;
  31. }

Contenuto Esempio: scroll-margin-inline


📌 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