<h1>Scroll Timeline</h1>

<div class="anima-1">
	<img src="https://i.picsum.photos/id/1045/3936/2624.jpg?hmac=PMfAbC94Asle_jgeRYsj7zQHFabfTfsIwL247Ewetwc" alt="" width="600" height="400">
</div>

<div class="anima-2">
	<img src="https://i.picsum.photos/id/1050/6000/4000.jpg?hmac=HhCXFcOrIrNguK7GqP6VhICXPa5FmcLZdug505qiEZM" alt="" width="600" height="400">
</div>

<div class="anima-3">
	<img src="https://i.picsum.photos/id/1056/3988/2720.jpg?hmac=qX6hO_75zxeYI7C-1TOspJ0_bRDbYInBwYeoy_z_h08" alt="" width="600" height="400">
</div>
body {
	padding: 40px 0;
	overflow-x: hidden;
}
h1 {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 200px;
}
img {
	display: block;
	max-width: 600px;
	width: 100%;
	margin: 0 auto 80px;
}


.anima-1 {
	animation-name: anima-1;
	animation-timeline: anima-timeline-1;
	animation-duration: 10s;
	animation-fill-mode: both;
}
@keyframes anima-1 {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@scroll-timeline anima-timeline-1 {
	start: 0%;
	end: 30%;
	time-range: 10s;
}


.anima-2 {
	animation-name: anima-2;
	animation-timeline: anima-timeline-2;
	animation-duration: 10s;
	animation-fill-mode: both;
}
@keyframes anima-2 {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(0%);
	}
}
@scroll-timeline anima-timeline-2 {
	start: 30%;
	end: 60%;
	time-range: 10s;
}


.anima-3 {
	animation-name: anima-3;
	animation-timeline: anima-timeline-3;
	animation-duration: 10s;
	animation-fill-mode: both;
}
@keyframes anima-3 {
	0% {
		clip-path: inset(0 0 0 100%);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}
@scroll-timeline anima-timeline-3 {
	start: 60%;
	end: 90%;
	time-range: 10s;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.