Groo Design

Spacing

컴포넌트와 콘텐츠 사이의 간격

간격은 요소 사이의 공간으로 묶음과 흐름을 만든다. groo 는 당근 SEED 의 dimension 스케일(2px 단위 19단계)과, 자리마다 이름을 붙인 역할 간격을 쓴다.

목적

  • 일관성 — 모든 화면과 컴포넌트가 같은 눈금을 쓴다.
  • 모듈성 — 값 대신 이름(spacing-x4)으로 간격을 고른다. 값이 바뀌어도 부르는 자리는 그대로다.
  • 가독성 — 여백으로 콘텐츠의 묶음과 흐름을 나눈다.

역할 간격

자리에 이름을 붙인 간격이다. 값은 아래 눈금 위에 있다.

가계부
9월 지출
24
24
global-gutter24px
가계부
20
9월 지출
지난달보다 12% 적게 썼어요
nav-to-title20px
12
component-default12px
식비
교통
쇼핑
8
between-chips8px
점심 · 김밥천국
식비 · 카드 · 오늘 12:40
6
between-text6px
56
screen-bottom56px
역할 간격 여섯 — 분홍 띠가 그 간격입니다
토큰값방향쓰는 곳
spacing-global-gutter24px · spacing-x6수평화면 가장자리와 콘텐츠 사이. 모든 화면에서 같게 둔다
spacing-between-chips8px · spacing-x2수평나란히 놓인 칩 사이
spacing-component-default12px · spacing-x3수직따로 정한 간격이 없는 컴포넌트 사이
spacing-between-text6px · spacing-x1_5수직제목과 설명처럼 붙어 있는 글 요소 사이
spacing-nav-to-title20px · spacing-x5수직상단 내비게이션과 화면 제목 사이
spacing-screen-bottom56px · spacing-x14수직화면 맨 아래 여백. 마지막 콘텐츠가 탭바 · 홈 표시줄에 붙지 않게
  • spacing-global-gutter 는 SEED(16px)와 달리 24px 이다. groo 앱의 화면 좌우 여백 규칙(2026-09-14, 본문 24)을 따른다 — 주간 띠 · 캘린더 격자 안 칸의 인셋 · 카테고리 탭 바의 전폭은 의도한 예외다.
  • 웹에서 768px 이상의 페이지 좌우 여백은 Layout 의 layout-margin(32px)이다. 768 미만은 spacing-global-gutter 를 쓴다.
  • 노치 · 홈 표시줄처럼 안전 영역이 있는 화면에서는 화면 끝이 아니라 안전 영역 경계부터 잰다. Desk 앱은 SafeArea, 웹은 env(safe-area-inset-*) 로 이미 그렇게 한다.

간격 눈금

x0_52px
x14px
x1_56px
x28px
x2_510px
x312px
x3_514px
x416px
x4_518px
x520px
x624px
x728px
x832px
x936px
x1040px
x1248px
x1352px
x1456px
x1664px
간격 눈금 — 막대 길이가 실제 크기입니다
토큰값옛 이름(별칭)
spacing-x0_52px—
spacing-x14pxspacing-xs
spacing-x1_56px—
spacing-x28pxspacing-sm
spacing-x2_510px—
spacing-x312pxspacing-md
spacing-x3_514px—
spacing-x416pxspacing-lg
spacing-x4_518px—
spacing-x520px—
spacing-x624pxspacing-xl
spacing-x728px—
spacing-x832pxspacing-2xl
spacing-x936px—
spacing-x1040px—
spacing-x1248pxspacing-3xl
spacing-x1352px—
spacing-x1456px—
spacing-x1664px—

옛 이름(spacing-xs … spacing-3xl)은 같은 값의 별칭이다. 컴포넌트를 옮길 때 새 이름으로 바꾼다.


구성과 일부 설명은 당근 SEED Design 의 Foundations 문서(Apache-2.0)를 바탕으로 했다. 값과 그림은 groo 것이다.

이 페이지