블라인드 전환
블라인드 효과로 화면을 가리고 드러내는 전환
블라인드 전환
블라인드 전환은 여러 개의 막대가 순차적으로 화면을 가리고 드러내며 페이지를 전환합니다. 서로 관련이 없거나 거리가 먼 콘텐츠 간 전환에 적합합니다.
데모
Loading demo...
UX 원칙
언제 사용하나요?
블라인드는 관련 없는 콘텐츠 간 전환이나 완전히 새로운 맥락으로 이동할 때 사용합니다.
콘텐츠 관계별 적합성
| 콘텐츠 관계 | 적합성 | 설명 | 
|---|---|---|
| 관련 없는 콘텐츠 | ✅ | 완전히 다른 주제나 섹션으로 이동 | 
| 형제 관계 | ❌ | 같은 레벨의 콘텐츠는 슬라이드가 더 적합 | 
| 계층 관계 | ❌ | 상하위 관계는 드릴이 더 적합 | 
왜 이렇게 동작하나요?
블라인드가 화면을 완전히 가린 후 새로운 화면을 드러내는 방식으로, 이전 콘텐츠와의 연결을 시각적으로 차단합니다. 이는 사용자에게 완전히 새로운 맥락으로 이동했음을 명확히 전달합니다.
모션 디자인
1. OUT: 블라인드가 순차적으로 닫히며 화면을 가림
2. 대기: 짧은 시간 동안 화면이 완전히 가려짐
3. IN: 블라인드가 순차적으로 열리며 새 화면을 드러냄
기본 사용법
import { Ssgoi } from '@ssgoi/react';
import { blind } from '@ssgoi/react/view-transitions';
const config = {
  defaultTransition: blind()
};
export default function App() {
  return (
    <Ssgoi config={config}>
      {/* 앱 내용 */}
    </Ssgoi>
  );
}
옵션
interface BlindOptions {
  // 스프링 설정
  inSpring?: SpringConfig; // IN 애니메이션 (기본: { stiffness: 75, damping: 25 })
  outSpring?: SpringConfig; // OUT 애니메이션 (기본: { stiffness: 80, damping: 25 })
  // 타이밍
  transitionDelay?: number; // OUT과 IN 사이 대기 (기본: 300ms)
  staggerDelay?: number; // 블라인드 간 지연 (기본: 100ms)
  // 시각
  blindCount?: number; // 블라인드 개수 (기본: 10)
  direction?: "horizontal" | "vertical"; // 방향 (기본: 'horizontal')
  blindColor?: string; // 색상 (기본: '#000000')
}
커스터마이징 예시
// 빠른 전환
blind({
  staggerDelay: 20,
  transitionDelay: 100,
});
// 수직 블라인드
blind({
  direction: "vertical",
  blindCount: 15,
});
// 부드러운 전환
blind({
  outSpring: { stiffness: 60, damping: 20 },
  inSpring: { stiffness: 50, damping: 18 },
});
// 색상 변경
blind({
  blindColor: "#1a1a1a",
});
실전 예시
홈에서 설정으로
{
  from: '/home',
  to: '/settings',
  transition: blind()
}
카테고리 간 이동
{
  from: '/shop/*',
  to: '/blog/*',
  transition: blind({
    blindCount: 12,
    staggerDelay: 25
  })
}
로그인 후 대시보드
{
  from: '/login',
  to: '/dashboard',
  transition: blind({
    transitionDelay: 500,
    blindColor: '#0f172a'
  })
}
다른 전환과의 비교
- vs 페이드: 블라인드는 더 극적이고 명확한 구분을 제공
- vs 슬라이드: 블라인드는 방향성이 없어 관련 없는 콘텐츠에 적합
- vs 드릴: 블라인드는 계층 관계가 없는 수평적 이동에 사용
성능 고려사항
- 블라인드는 동적으로 생성되고 애니메이션 후 자동 제거됩니다
- GPU 가속을 활용하여 부드러운 애니메이션을 제공합니다
- 20개 이상의 블라인드는 저사양 기기에서 성능에 영향을 줄 수 있습니다
