콘텐츠 가장자리로 갈수록 흐림이 점점 강해져 움직이는 내용이 자연스럽게 사라지는 블러Blur grows toward the content edge so moving content fades away smoothly.
카드 목록이 아래로 스크롤될 때 하단 120px 구간에서 blur가 0에서 12px로 점점 강해지며 자연스럽게 사라진다
단일 blur 한 겹을 통째로 걸어 경계가 선으로 보이거나, 흐림이 24px을 넘어 화면이 지저분해진다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 블러 최대 | 12px | 8~16px | 가장자리 끝 |
| 경계 폭 | 120px | 80~200px | 흐림이 커지는 구간 |
| 겹 수 | 5 | 4~6 | backdrop 층 개수 |
| 등장 지속 | 600ms | 400~900ms | 가장자리 흐림이 켜지는 시간 |
const layers = [...document.querySelectorAll('.pb-layer')]; // 5겹
layers.forEach((el, i) => {
el.style.setProperty('--b', `${(i + 1) * 12 / 5}px`);
el.style.maskImage = `linear-gradient(to top, #000 ${i * 20}%, #000 ${i * 20 + 20}%, transparent ${i * 20 + 40}%)`;
});
tl.fromTo('.pb', { opacity: 0 }, { opacity: 1, duration: 0.6, ease: 'power2.out' }, 0);
/* .pb-layer { backdrop-filter: blur(var(--b)); } */그대로 붙여 넣는다Paste as is
<대상> 스크롤 영역의 하단 가장자리에 점진적 블러를 넣어줘. 높이 120px 구간을 5겹 backdrop-filter로 나눠 blur가 0에서 12px까지 커지게 하고, 각 겹은 linear-gradient 마스크로 자연스럽게 이어 붙여. 덮개는 0.6초 power2.out으로 나타나게 하고, 스크롤되는 카드가 이 구간에서 부드럽게 흐려지며 사라지도록 해.
Add a progressive blur to the bottom edge of the scroll area in <target>. Split a 120px band into 5 backdrop-filter layers so blur grows from 0 to 12px, and join the layers with linear-gradient masks. The overlay appears over 0.6 seconds with power2.out and cards scrolling through it fade out smoothly.
<파일>의 스크롤 컨테이너 하단에 .pb-layer 5개를 겹쳐. 각 층 blur = (i+1)*12/5 px, mask는 to top 그라디언트로 20% 간격 페이드. 전체 .pb는 0.6초 power2.out로 opacity 0→1. 캡처 1.0초에 하단 120px 구간에서 blur가 연속적으로 커지고 경계 선이 보이지 않는지, 중심부는 선명한지 확인해.
Stack 5 .pb-layer elements at the bottom of the scroll container in <file>. Each blur = (i+1)*12/5 px with a to-top gradient mask fading at 20% steps. Fade the whole .pb in over 0.6 s power2.out. Capture at 1.0 s to confirm blur grows continuously across the 120px band with no visible seam and the center stays sharp.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo