Scroll Reveal 4종

아래로 스크롤하며 각 박스가 나타나는 모션을 직접 확인하세요(한 번 나타난 뒤에는 유지됩니다).

스크롤하면 나타납니다

Fade

data-reveal="fade"

opacity만 전환 — 텍스트 블록, Section Header

스크롤하면 나타납니다

Slide Up

data-reveal="up"

opacity + translateY(1.1rem → 0) — 기본값, 대부분의 섹션

스크롤하면 나타납니다

Slide Left

data-reveal="slide-left"

opacity + translateX(-1.5rem → 0) — About/Contact 2단 레이아웃

스크롤하면 나타납니다

Scale

data-reveal="scale"

opacity + scale(.97 → 1) — Card, KPI, 통계 수치

Stagger Group

data-reveal-group — 카드가 순서대로 등장(0/50/100/150/200/240ms, 6번째부터 지연 캡)

1
2
3
4

동작 원리

src/scripts/modules/scroll-reveal.js

  • threshold 0.12 · rootMargin 0px 0px -10% 0px — 화면 하단 10% 지점에서 발동
  • 기본 once:true → 최초 1회 노출 후 unobserve(). AJAX/무한스크롤을 위해 once:false 옵션도 지원
  • transition duration 240ms · easing cubic-bezier(.22,.61,.36,1)(--ease-reveal) — transform/opacity만 사용해 리플로우 없음
  • prefers-reduced-motion: reduce 환경에서는 즉시 is-visible 처리(애니메이션 생략)
  • 키보드 포커스가 아직 보이지 않는 대상에 들어오면 :focus-within으로 즉시 노출

Project

HANSUNG

Version

1.0.0

Stack

Tailwind CSS v4 · HTML5 · Vanilla JavaScript

Last Update

2026-07-18

Build

Tailwind CLI (minified) · No bundler · Static Hosting