여백

Whitespace

요소 사이의 빈 공간. 아무것도 없는 게 아니라, 무엇이 한 덩어리이고 무엇이 중요한지 알려주는 디자인 도구입니다.

다른 이름: Negative spaceWhite space
···
html
<div class="pair">
  <div class="panel tight">
    <b class="lbl">Cramped</b>
    <div class="card"><i class="ln l1"></i><i class="ln l2"></i><i class="ln l3"></i></div>
    <div class="card"><i class="ln l1"></i><i class="ln l2"></i></div>
  </div>
  <div class="panel roomy">
    <b class="lbl">Spacious</b>
    <div class="card"><i class="ln l1"></i><i class="ln l2"></i><i class="ln l3"></i></div>
    <div class="card"><i class="ln l1"></i><i class="ln l2"></i></div>
  </div>
</div>
css
.pair{display:flex;gap:4%;width:min(94%,560px);height:min(88%,260px)}
.panel{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;position:relative}
.lbl{position:absolute;top:6px;left:8px;font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.tight{padding:8px;gap:4px}
.roomy{padding:8px;gap:4px;transition:padding .9s ease,gap .9s ease}
.tight .card{padding:6px;gap:3px;margin-top:16px}
.roomy .card{padding:10%;gap:8%;margin-top:16px;transition:padding .9s ease,gap .9s ease}
.card{display:flex;flex-direction:column;border-radius:6px;background:var(--bg);border:1px solid var(--line)}
.card+.card{margin-top:6px}
.ln{display:block;height:6px;border-radius:3px;background:var(--line)}
.l1{width:82%}.l2{width:64%}.l3{width:46%}
js
const roomy = document.querySelector('.roomy');
let big = true;
setInterval(() => {
  big = !big;
  roomy.style.padding = big ? '16px' : '8px';
  roomy.querySelectorAll('.card').forEach((c) => { c.style.padding = big ? '16px' : '6px'; c.style.gap = big ? '10px' : '4px'; });
}, 1600);

여백이 좁으면(마이크로 화이트스페이스) 글자·아이콘처럼 가까운 요소들이 "한 그룹"으로 읽히고, 여백이 넓으면(매크로 화이트스페이스) 섹션과 섹션을 나눠서 읽게 만듭니다. 즉 여백의 크기 차이 자체가 게슈탈트 근접성 법칙을 실현하는 수단입니다.

여백을 늘리면 같은 콘텐츠라도 고급스럽거나 여유 있어 보이는 효과가 있어서, 프리미엄 브랜드일수록 한 화면에 정보를 적게 넣고 여백을 넉넉히 씁니다. 반대로 여백을 줄이면 정보 밀도가 높아져 대시보드·표처럼 "한눈에 많이" 봐야 하는 화면에 맞습니다.

여백은 "쓰고 남은 공간"이 아니라 디자인 단계에서 처음부터 배정해야 하는 요소입니다. 나중에 끼워 넣으려 하면 대개 부족합니다.

언제 쓰나

"뭔가 답답해 보인다"는 피드백을 받으면 요소를 더 넣기 전에 여백부터 늘려보세요. 대부분의 경우 콘텐츠가 아니라 여백이 부족한 것입니다.