<div class="slider">
	<section>
		<h1>Section One</h1>
	</section>
	<section>
		<h1>Section Two</h1>
	</section>
	<section>
		<h1>Section Three</h1>
	</section>
	<section>
		<h1>Section Four</h1>
	</section>
	<section>
		<h1>Section Five</h1>
	</section>
</div>
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
body {
	overflow-y: hidden;
}
.slider {
	font-family: sans-serif;
	scroll-snap-type: x mandatory;	
	display: flex;
	-webkit-overflow-scrolling: touch;
	overflow-x: scroll;
}
section {
	border-right: 1px solid white;
	padding: 1rem;
	min-width: 100vw;
	height: 100vh;
	scroll-snap-align: start;
	text-align: center;
	position: relative;
}
h1	{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
	color: white;
	width: 100%;
	left: 0;
	font-size: calc(1rem + 3vw);
}
View Compiled
const init = function(){
	let items = document.querySelectorAll('section');
	for (let i = 0; i < items.length; i++){
		items[i].style.background = randomColor({luminosity: 'light'});
	}
	cssScrollSnapPolyfill()
}
init();

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/randomcolor/0.5.2/randomColor.js
  2. https://bundle.run/css-scroll-snap-polyfill@0.1.2

Packages

This Pen doesn't use any packages.