<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;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.