清屏动画可通过五种方法实现:一、CSS淡出;二、CSS缩放;三、位移+透明度组合;四、Canvas覆盖;五、SVG遮罩扩散,均需HTML结构配合CSS动画与JavaScript触发。

如果您希望在HTML页面中实现清屏动画效果,即让当前页面内容以某种视觉动画方式“清除”或“消失”,可以通过CSS动画与JavaScript控制DOM元素的显示状态来完成。以下是几种不同的实现方法:
一、使用CSS淡出动画清屏
该方法通过为页面根容器添加淡出动画,使所有内容在0.5秒内透明度从1降至0,再隐藏元素,达到清屏视觉效果。
1、在HTML中为
外层包裹一个id为"screen"的2、在
立即学习“前端免费学习笔记(深入)”;
3、添加CSS类.clear-screen { animation: fade-out 0.5s forwards; }。
4、通过JavaScript执行document.getElementById('screen').className = 'clear-screen';触发动画。
二、使用CSS缩放动画清屏
该方法利用transform的scale属性,使页面容器在动画过程中快速缩小至中心点并消失,营造“吸入式”清屏感。
1、确保页面主体内容被包裹在具有class="viewport"的容器内。
2、定义@keyframes zoom-out { from { transform: scale(1); } to { transform: scale(0.01); opacity: 0; } }。
3、设置.zoom-clear { animation: zoom-out 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; }。
4、调用element.classList.add('zoom-clear')作用于viewport容器。
三、使用CSS位移+透明度组合清屏
该方法结合垂直位移与透明度变化,模拟内容向上滑出视口并消隐的效果,增强方向性清屏体验。
1、将全部可视内容放入
2、定义@keyframes slide-up-fade { from { transform: translateY(0); opacity: 1; } to { transform: translateY(-100vh); opacity: 0; } }。
3、声明.slide-clear { animation: slide-up-fade 0.6s ease-out forwards; }。
4、执行document.getElementById('main-content').classList.add('slide-clear');启动动画。
四、使用Canvas全屏覆盖清屏
该方法不操作原有DOM,而是动态创建全屏canvas,绘制渐变遮罩并逐帧降低不透明度,形成覆盖式清屏动画。
1、在页面末尾插入。
2、获取canvas上下文ctx = document.getElementById('clear-canvas').getContext('2d');。
3、定义drawOverlay(alpha)函数,用ctx.fillStyle = `rgba(0,0,0,${alpha})`填充全画布。
4、使用requestAnimationFrame递减alpha值(如从0.0到1.0),当alpha达1.0时清屏完成,可重置页面或跳转。
五、使用SVG mask动画清屏
该方法借助SVG的mask元素定义圆形扩散遮罩,配合CSS动画实现从中心向四周“吞噬”内容的清屏效果。
1、在HTML中添加隐藏的svg>,内含
2、为body或主容器设置style="mask: url(#clear-mask); -webkit-mask: url(#clear-mask);"。
3、定义.mask-animation { animation: mask-expand 0.7s forwards; },其中@keyframes mask-expand { to { r: 2000; } }。
4、触发时为circle元素添加.mask-animation类,注意需预先设置circle的cx/cy为视口中心坐标。











