滚动模糊揭示特效(模糊到清晰入场,强度实时可调)

JSCSS 许可:自研原创

滚动模糊揭示特效:内容随滚动从模糊到清晰逐渐显现,模糊半径 6-28px 实时可调,GPU 加速滤镜,IntersectionObserver 驱动,零依赖自研实现。

效果演示(真实可交互)

🌫️ 向下滚动:内容从模糊到清晰逐渐显现,注意力自然聚焦

模糊揭示:让注意力自然聚焦

模糊揭示(Blur Reveal)与普通淡入的最大区别在于「聚焦感」:文字先以模糊状态进入视口,再逐渐清晰,模拟人眼对焦的过程,特别适合产品主标语与品牌主张。

实现上只需在初始状态叠加 `filter: blur()`,进入视口后过渡回 `blur(0)`。模糊滤镜由 GPU 加速,配合透明度与轻微位移,视觉层次非常干净。

卡片示例

01 主标语首页 Hero 大标题,模糊聚焦开场
02 卖点段落每段卖点独立模糊入场,节奏清晰
03 图片配文配文跟随图片一起「对上焦」
04 结语结尾再次模糊收束,首尾呼应

性能提示:模糊滤镜虽然由 GPU 加速,但大面积的 blur 仍比普通透明度贵一些,建议把模糊层限制在文字与小块卡片上,避免整屏背景长时间处于模糊状态。

强度调节:下方滑块控制模糊半径(6-28px)。半径越大「雾感」越强,入场过程越戏剧化;品牌场景建议 8-16px,克制而高级。

演示区用内嵌滚动容器模拟页面滚动:标题、段落与卡片都先以模糊状态进入视口,再逐渐对上焦。模糊强度滑块实时生效,「重新播放」一键重看。

完整代码

<div class="sb-scroller" id="sbScroller" style="--sb-blur: 14px">
  <h3 class="sb-item">模糊揭示:让注意力自然聚焦</h3>
  <p class="sb-item">文字先模糊进入视口,再逐渐清晰……</p>
</div>
.sb-item {
  opacity: 0;
  filter: blur(var(--sb-blur, 14px));
  transform: translateY(18px);
  transition: opacity .7s ease, filter .7s ease, transform .7s ease;
}
.sb-item.in { opacity: 1; filter: blur(0); transform: none; }
const io = new IntersectionObserver(entries => {
  entries.forEach(en => {
    if (en.isIntersecting) {
      en.target.classList.add('in');   // 进入视口 → 模糊清零
      io.unobserve(en.target);
    }
  });
}, { root: scroller, threshold: 0.2 });
items.forEach(el => io.observe(el));

实现要点:初始状态叠加 filter: blur(14px)、透明度 0 与轻微下移,进入视口后过渡回清晰。模糊半径用 CSS 变量 --sb-blur 统一控制,滑块只改这一个变量即可全局生效,无需改动 JS。

参数说明

参数位置说明
模糊半径--sb-blur 变量6-28px,品牌场景建议 8-16px
动画时长transition 的 0.7s0.5-0.9s 区间观感最佳
触发阈值threshold: 0.2元素进入视口 20% 时触发
位移距离translateY(18px)与模糊叠加,避免「原地变清晰」的生硬
监听根root: scroller局部容器用容器元素,整页用 null

兼容性与性能

常见问题

Q: 模糊过渡在低端手机上会掉帧吗? 模糊滤镜虽由 GPU 加速,但低端机连续大范围 blur 仍可能掉帧。建议把模糊半径控制在 16px 内、避免整屏元素同时模糊,本组件演示的规模无压力。

Q: 模糊和淡入一起用会看不清吗? 不会。本组件把模糊、透明度、位移三者叠加,入场过程「先雾后清」,观感反而更聚焦;如果只要其中一种,删掉对应属性即可。

Q: 为什么模糊切换时文字边缘会闪一下? 这是部分浏览器对 blur 过渡的合成瑕疵。可给 .sb-item 加 will-change: filter 提前建层,或把动画时长加长到 0.7s 以上缓解。

Q: 可以商用吗? 可以。本组件为粤喵自研原创代码,免费商用无需署名,无任何协议限制。

许可与来源

  • 许可证:自研原创 —— 粤喵自研原创,可免费用于个人与商业项目,无需署名。查看来源公示与许可清单
  • 来源:粤喵团队原创自研(从效果思路到代码实现均为独立完成,未直接复制第三方代码)
  • 首次发布:2026-09-01 · 最近更新:2026-09-01
  • 修改日志:2026-09-01 首次发布;2026-09-13 补充许可证与来源标注、复制按钮说明与法务页入口
  • 纠错:联系页面 / min@cactus.asia,2 个工作日内核实处理

常见问题

这个组件可以商用吗?

可以。本组件为粤喵自研原创,可免费用于个人和商业项目,无需署名。

浏览器兼容性如何?

支持所有现代浏览器(Chrome / Firefox / Safari / Edge 最新版本)。旧版 IE 不支持 CSS 动画相关特性。

怎么修改动画参数?

直接调整 CSS 中的 animation-duration(时长)、animation-timing-function(缓动曲线)等属性即可,代码中有注释说明。

✍️ 作者与审核