↑↓ 이동 · Enter 열기 · Esc 닫기

Loading

처리 중임을 알리는 표시예요. 짧은 로딩과 좁은 자리에는 원형(Progress Circle)을, 진행률을 계산할 수 있는 작업에는 막대(Progress Bar)를, 화면 첫 진입과 목록에는 Skeleton 을 사용해요.

Anatomy

  • 01
    Progress Circle
    1~4초의 짧은 로딩. 버튼 안이나 전체 화면 딤 위
  • 02
    Progress Bar
    4초 이상, 진행률을 아는 작업
  • 03
    Skeleton
    첫 진입과 목록 로딩. 실제 콘텐츠 자리에 골격만

Properties

Type

걸리는 시간으로 골라요. 세 가지 모두 같은 기준을 써요.

소요 시간별 로딩 표시 기준
소요 시간표시
1초 이내표시하지 않아요.
1~4초Progress Circle 또는 Skeleton
4~10초Skeleton 또는 Progress Bar
10초 이상Progress Bar + 예상 소요 시간
1분 이상백그라운드 처리 또는 취소 수단

Size

Progress Circle 은 박스 크기를 정하면 링과 선 두께가 따라와요. 18·24·32는 아이콘 박스, 48은 전체 화면 딤용이에요.

18
24
32
48

Progress Bar 는 높이 4px 에 부모 폭을 따라요. Skeleton 은 실제 콘텐츠 크기에 맞추고, 아래는 모양별 기본값이에요.

Rect
Circle
Text

Bar Type

Indeterminate
Determinate
막대 타입
타입설명
Indeterminate진행률을 모를 때. 너비 30% 구간이 반복해 지나가요.
Determinate진행률을 알 때. value(0~100) 만큼 좌에서 우로 채워요.

Color

Progress Circle 은 트랙 없이 호 하나만 돌고, 색은 화면에 맞춰 바꿔요. Skeleton 은 --color-fill-normal 하나만 써요.

맥락별 색
맥락토큰설명
기본--color-label-alternative밝은 배경 위
어두운 배경 · Black 버튼--color-static-white딤 위도 같아요
버튼 안currentColor버튼 라벨 색을 그대로 따라가요
그 밖자유브랜드·AI 색 등 화면에 맞게

Case

01
버튼 안
아이콘 자리에 18 스피너가 들어가요. 라벨을 진행 문구로 바꾸거나 스피너만 두되, 버튼 폭과 색은 그대로예요. 회색은 비활성 몫이에요.
라벨 유지
라벨 없음
02
전체 화면
딤 위 화면 가운데에 48을 둬요.
불러오는 중
03
화면 상단
화면 전체 진행은 헤더 바로 아래 전체 폭으로 둬요.
최근 문서
04
항목 아래
항목별 진행은 그 항목 아래에, 진행률을 알면 숫자와 함께 둬요.
3분기 매출 보고서.xlsx60%
문서를 분석하고 있어요
05
목록
Skeleton 은 실제 콘텐츠와 같은 자리·크기로 놓고, 마지막 줄은 짧게 해요.

Guidelines

✓ DO

  • 1~4초의 짧은 로딩에 써요.
  • 버튼 안, 전체 화면 딤 위에 써요.
  • 어두운 배경에선 static/white 로 바꿔요.
  • 4초 이상, 진행률을 아는 작업에 써요.
  • 10초를 넘으면 예상 시간도 보여줘요.
  • 화면 전체 진행은 헤더 아래 전체 폭으로 둬요.
  • 항목별 진행은 그 항목 아래에 둬요.
  • 첫 진입과 목록 로딩에 써요.
  • 실제 콘텐츠와 같은 자리·크기로 둬요.
  • Circle 은 아바타, Text 는 한 줄에 써요.
  • 여러 줄은 쌓고 마지막 줄은 짧게 해요.

✗ DON'T

  • 1초 안에 끝나는 작업엔 안 띄워요.
  • 진행률이 필요한 작업엔 Progress Bar 를 써요.
  • 한 영역에 하나만 둬요.
  • 실패하면 로딩을 걷고 오류와 다음 행동을 안내해요.
  • 진행률을 모르면 Determinate 로 흉내내지 않아요.
  • 1초 안에 끝나는 작업엔 안 띄워요.
  • 한 영역에 하나만 둬요.
  • 실패하면 막대를 걷고 오류와 다음 행동을 안내해요.
  • 정적인 요소엔 쓰지 않아요.
  • shimmer 그라데이션을 얹지 않아요.
  • 실제 콘텐츠와 다른 크기로 두지 않아요. 끝날 때 화면이 튀어요.
  • 실패하면 골격을 걷고 오류와 다음 행동을 안내해요.

Specification

Progress Circle

원형 크기별 치수
박스링선 두께쓰는 자리
18px12px1.5px아이콘 박스. 버튼 안 같은 좁은 자리
24px16px2px아이콘 박스
32px22px3px아이콘 박스
48px32px4px전체 화면 딤 위

2초에 한 바퀴 돌며 호 길이가 함께 변해요. 멈춰 보이는 구간이 없어요.

원형 애니메이션 값
항목값근거
주기2,000ms
앞끝(trim end)0 → 1,667ms 동안 1% → 100%뒤끝과 구간이 겹쳐 호가 길어졌다 짧아져요
뒤끝(trim start)333 → 2,000ms 동안 0% → 99%
회전주기당 356.4도, linear트림이 되돌아가는 각도와 같아 이음매가 보이지 않아요
이징cubic-bezier(0.333, 0, 0.667, 1)표준 ease-in-out 과 같은 곡선
구현stroke-dasharray · stroke-dashoffset

Progress Bar

막대 치수와 색
속성값설명
높이4px기본값. 필요하면 height 로 조정해요
너비100%부모 폭을 따라요
border-radius--radius-full트랙과 채움 모두
트랙--color-fill-normal
채움--color-label-alternativecolor 로 브랜드·AI 색 지정
막대 애니메이션 값
항목값근거
Indeterminate 주기1,500ms
Indeterminate 구간전체 너비의 30% 가 좌에서 우로 이동
Indeterminate 이징linear진행률을 모르므로 일정한 속도로 움직여요
Determinate 전환값이 바뀔 때 200ms ease-out

Skeleton

스켈레톤 모양별 기본값
모양기본 크기radius쓰는 자리
Rect240 × 120--radius-md (12px)카드·썸네일·이미지 자리
Circle48 × 48--radius-full아바타
Text240 × 16--radius-xs (6px)문장 한 줄

투명도가 100%와 30% 사이를 오가요. shimmer 는 쓰지 않아요.

스켈레톤 애니메이션 값
항목값근거
주기2,000ms
투명도100% → 30% → 100%
이징ease-in-out양 끝에서 부드럽게 멈췄다 돌아와요
Polaris Office Design System · © 2026 Polaris Office. All rights reserved. · 이용약관Version 1.1.0업데이트 2026.09.18