SuperAPI AI 工具集

mask-reveal-transition

设计与创作

查看项目

更新于 10-16 01:13

技能介绍

用途:让图片通过有机形状遮罩(墨迹晕染圆环)随滚动进度显露,替代普通淡入淡出或透明度切换。两种变体共用一个底层机制:用 getBoundingClientRect() 测量 section 内滚动进度并映射到 0..1,再把半径写入 CSS 自定义属性 --mrt-r。

主要能力:变体一 [data-mrt-blob] 在滚动时逐帧增大透明圆环半径,实现墨迹扩散效果;变体二 [data-mrt-split] 使用纯 CSS position: sticky 固定左侧图片,右侧段落滚动,用 IntersectionObserver(threshold 0.5)在段落进入视口中央时切换图片,并通过 @property --mrt-r 让切换平滑过渡。两层图片绝对定位叠放:下层常显,上层带遮罩。

使用方式:优先复制 Rheinmir/uiux-asset 仓库中的原始文件,保留署名注释,仅改内容、图片与颜色;项目不允许引入外部文件时改用 assets/ 下的 vanilla 版本(demo.html、mask-reveal-transition.css、mask-reveal-transition.js)并自行适配。需本地通过 HTTP 运行,不能用 file://。可离线克隆:git clone --depth 1 https://github.com/Rheinmir/uiux-asset

适用场景:艺术或作品集式的“墨迹扩散”滚动换图;两栏案例研究布局(左图固定、右文滚动)。不适用于简单视差披露或全屏着色器过渡。

限制与注意:Safari 必须同时保留 mask-image 与 -webkit-mask-image 前缀;sticky 会因任意父级 overflow 为 hidden/auto/scroll 或 clip 而失效,需检查整条父链;变体二需 @property 声明才能动画;prefers-reduced-motion: reduce 时立即显示完整图片并关闭动画,不可删除该分支;每页仅使用一个 rAF 节流的滚动监听和每个 split 一个 IntersectionObserver。建议用 playwright 截图验证。其余收费、价格、平台信息暂未提供。