Esempio di utilizzo di scroll-margin-inline-start

Scrolla manualmente il contenitore: noterai che i box si allineano a sinistra uno alla volta (effetto "snap"). Quando arrivi al box rosso Target, mantiene 50px di margine a sinistra grazie a scroll-margin-inline-start, oppure clicca il bottone per scrollare automaticamente fino al box target.

Box 1
Box 2
Target
Box 4
Box 5
Box 6
Box 7

Bottone per scroll automatico

⚠️ Usa JavaScript (scrollIntoView()) per portare in vista il box con margine orizzontale sinistro di 50px.


Codice HTML e CSS di esempio


<style>
  html {
    scroll-behavior: smooth;
  }

  .scroll-container {
    overflow-x: auto;
    white-space: nowrap;
    border: 2px solid #ccc;
    padding: 20px;
    width: 290px;
    scroll-snap-type: x mandatory;
  }

  .box {
    display: inline-block;
    width: 230px;
    height: 150px;
    margin-right: 20px;
    background-color: #61afef;
    color: white;
    font-size: 18px;
    text-align: center;
    line-height: 150px;
    border-radius: 10px;
    scroll-snap-align: start;
  }

  .target-inline {
    scroll-margin-inline-start: 50px;
    background-color: #e06c75;
  }
</style>

<div class="scroll-container">
  <div class="box">Box 1</div>
  <div class="box">Box 2</div>
  <div class="box target-inline">Target</div>
  <div class="box">Box 4</div>
  <div class="box">Box 5</div>
  <div class="box">Box 6</div>
  <div class="box">Box 7</div>
</div>