CSS 特效 词条目录
前端Wiki/CSS 特效/加载与滚动/滚动特效

滚动渐入动画

滚动渐入:内容滚进视口时从下往上淡入。纯 CSS 新特性 @keyframes 配合 animation-timeline: view() 可以零 JS 实现(Chrome 115+ 支持);通用做法仍是 JS IntersectionObserver 加 class(见 JS 特效教程)。

本节演示纯 CSS 现代写法与经典兼容写法的思路差异;滚动驱动动画是 2024 年后最值得关注的新 CSS 能力。

  • animation-timeline: view() 让动画随滚动触发(较新浏览器)
  • 兼容做法:JS IntersectionObserver 观察元素加 .in 类
  • 配合 prefers-reduced-motion 照顾敏感用户
HTML
<style>
/* 新浏览器:滚动进入视口时自动从下淡入 */
.fade-up { animation: fadeUp linear both;
  animation-timeline: view();
  animation-range: entry 0% cover 40%; }
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); } }
.scroll-demo { height: 90px; overflow: auto; border: 1px dashed #ccc;
  padding: 10px; }
.scroll-demo p { min-height: 60px; padding: 10px; background: #f6f8fa;
  border-radius: 8px; margin: 6px 0; }
</style>
<div class="scroll-demo">
  <p>条目 1</p>
  <p class="fade-up">条目 2 —— 滚动时淡入</p>
  <p class="fade-up">条目 3 —— 滚动时淡入</p>
  <p class="fade-up">条目 4 —— 滚动时淡入</p>
</div>
<p style="color:#888;font-size:13px">在这个小框里上下滚动试试(Chrome 115+ 生效)</p>
本节要点滚动渐入新方案:animation-timeline: view();通用方案仍是 IntersectionObserver 加类。
🔗 相关词条自适应过渡动画