원본 Gist
Aceternity UI의 디자인 원칙 및 미학
Aceternity UI의 디자인 원칙과 미학에 대한 상세한 분석입니다.
핵심 디자인 원칙
-
모던 미니멀리즘 (Modern Minimalism) 깔끔한 선, 정돈된 레이아웃, 목적 있는 공백을 우선시하며 과도한 장식을 피합니다. 컴포넌트는 부드러운 그림자를 통해 미묘한 깊이감을 주며 기하학적 정밀함을 사용합니다.
-
모션 우선 인터랙션 디자인 (Motion-First Interaction Design) 의도적인 이징 곡선(주로 spring 또는 ease-in-out)을 가진 Framer Motion 기반 애니메이션을 마이크로 인터랙션에 구현합니다.
prefers-reduced-motion설정을 존중하여 거슬리는 전환을 방지합니다. -
기본적인 반응형 설계 (Responsive by Default) 컴포넌트는 모바일 우선 중단점을 가진 Tailwind CSS 유틸리티 클래스를 사용합니다. 그리드 시스템은 여러 뷰포트에서 요소 간의 비례 관계를 유지합니다.
-
접근성 기반 패턴 (Accessibility-Driven Patterns) 다음과 같은 WCAG 2.1 표준을 따릅니다:
- 키보드로 탐색 가능한 드롭다운/모달
- 상호작용 요소에 대한 ARIA 레이블
- 텍스트에 대한 명암비 ≥4.5:1
- 동작 감소 대안
-
디자인 토큰 아키텍처 (Design Token Architecture) 다음과 같은 중앙 집중식 테마를 사용합니다:
- 의미론적 색상 변수 (primary/secondary/error)
- REM 기반 크기의 타입 스케일
- 4px 증분 기반의 간격 시스템
미적 가이드라인
색상 전략 (Color Strategy)
- 주요 팔레트: 진한 파란색(#2563EB) 또는 생생한 청록색(#0D9488)
- 강조색: 일렉트릭 퍼플(#7C3AED) 또는 코랄(#F97316)
- 중립색: 트루 그레이(#1F2937 ~ #F3F4F6)
- 다크 모드: 기본으로
#0F172A를 사용하고, 표면은#1E293B를 사용합니다.
타이포그래피 접근법 (Typography Approach)
- 제목: Inter Bold (600-700 weight), 자간 -0.025em
- 본문 텍스트: Inter Regular (400 weight), 1rem/1.5 line-height
- 코드 블록: JetBrains Mono와 구문 강조
컴포넌트 스타일링 (Component Styling)
- 버튼:
- Primary: 전체 채도 채움, 호버 시
scale-105변환 - Secondary: 테두리만, 호버 시
bg-opacity-10 - Ghost: 텍스트만, 호버 시 밑줄
- Primary: 전체 채도 채움, 호버 시
- 폼:
- Inputs: 포커스 시 1px의 미묘한 테두리와
shadow-sm - Checkboxes: 애니메이션 SVG 체크마크
- Validation:
animate-pulse를 사용한 실시간 오류 표시
- Inputs: 포커스 시 1px의 미묘한 테두리와
- 카드:
- Base:
rounded-lg와shadow-md - Hover:
shadow-lg+translate-y-1모션 - Content: 24px/16px 리듬을 따르는 패딩
- Base:
애니메이션 철학 (Animation Philosophy)
- 진입/진출: 자식 요소에 시차를 둔 애니메이션 (0.05초 지연)
- 호버 상태: 부드러운 크기 변환 (102-105%)
- 전환: 300ms 지속 시간과
cubic-bezier(0.4,0,0.2,1) - 마이크로 인터랙션: 버튼 물결 효과는 원형
clip-path를 사용
구현 표준
- 테마 시스템:
createTheme를 통해 적용하고 CSS 변수 폴백을 사용합니다. - 레이아웃 그리드: 반응형 중단점이 있는 12-컬럼 시스템을 사용합니다.
- 컴포넌트 사용자 정의: Tailwind 임의 값과 props 오버라이딩을 지원합니다.
피해야 할 안티패턴
- 디자인 토큰 대신 정적 CSS 사용
- 애니메이션 지속 시간 하드코딩
- 카드를 3단계 이상 중첩
- 단일 요소에 여러 애니메이션 유형 결합
- 컴포넌트당 3가지 이상의 폰트 두께 초과
문서화 표준
다음과 같은 내용이 포함된 대화형 prop 테이블을 포함해야 합니다:
- 타입 정의
- 기본값
- 접근성 요구사항
- 모션 설정 옵션
- 테마 오버라이드 예제