其实也就三行代码:
animation: appear linear; animation-timeline: view(); animation-range: entry 0% cover 40%;
完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Animate On Scroll</title>
<style>
body {
min-height: 200vh; /* 为了创造滚动效果 */
padding: 20px;
font-family: Arial, sans-serif;
}
.block {
width: 300px;
height: 200px;
margin: 10px;
background-color: #3498db;
display: flex;
justify-content: center;
align-items: center;
color: white;
font-size: 24px;
}
@keyframes appear {
from {
opacity: 0;
clip-path: inset(100% 100% 0 0);
}
to {
opacity: 1;
clip-path: inset(0 0 0 0);
}
}
.block {
animation: appear linear;
animation-timeline: view();
animation-range: entry 0% cover 40%;
}
</style>
</head>
<body>
<h1>Animate On Scroll</h1>
<div class="block">Scrolling Element</div>
<div class="block">Another Element</div>
<div class="block">One More Element</div>
<div class="block">One More Element</div>
<div class="block">One More Element</div>
<div class="block">One More Element</div>
</body>
</html> 网友回复


