JSFiddle - React, Tailwind, and code Playground
by joshmoto
HTML
<main>
<section class="bg-cyan">CYAN</section>
<section class="bg-magenta">MAGENTA</section>
<section class="bg-yellow">YELLOW</section>
<section class="bg-key">BLACK</section>
<section class="bg-red">RED</section>
<section class="bg-blue">BLUE</section>
<section class="bg-green">GREEN</section>
</main>
SCSS
html {
overflow-y: scroll;
scroll-snap-type: y mandatory;
scroll-behavior: smooth;
}
section {
height: 100vh;
position: relative;
scroll-snap-align: start;
color: white;
}
/* Disable scroll snapping after .bg-red section */
section.bg-red ~ * {
scroll-snap-type: none;
scroll-margin-top: 1px; /* Add margin to prevent overlap */
}
.bg-cyan {
background: cyan;
}
.bg-magenta {
background: magenta;
}
.bg-yellow {
background: yellow;
color: black;
}
.bg-key {
background: black;
}
.bg-red {
background: red;
}
.bg-blue {
background: blue;
}
.bg-green {
background: green;
}