其实也就三行代码:
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>
网友回复