<!DOCTYPE html>
<html>
<head>
<style>
#container {
width: 80%;
aspect-ratio: 3/2;
margin: auto;
border: solid black 2px;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
scroll-snap-type: x mandatory;
}
.blue {
background-color: lightblue;
height: 95%;
aspect-ratio: 1/2;
}
.green {
background-color: lightgreen;
height: 50%;
aspect-ratio: 2/1;
}
.blue, .green {
display: inline-block;
margin: 5px;
scroll-snap-align: none start;
scroll-margin: 0;
}
</style>
</head>
<body>
<h1>Change scroll-margin property with JavaScript</h1>
<p>Try first to scroll to see how the scroll snaps on start of elements on x-axis.</p>
<p>Now, click button, click inside the container, and see how scrolling behavior has changed. The elements now snap on start of element with a 20px margin to container.</p>
<button onclick="myFunction()">Try it</button>
<div id="container">
<div class="blue"></div>