가이드 목록으로
입문

박스 모델과 간격

CSS의 핵심 개념! Content, Padding, Border, Margin으로 이루어진 박스 모델을 이해하고, max-width와 섹션 여백 규칙까지 배웁니다.

박스 모델 레이어

모든 HTML 요소는 이 4가지 레이어로 구성되어 있어요. 마치 양파 껍질처럼 안에서 밖으로 감싸고 있습니다.

콘텐츠
Content
패딩
Padding
테두리
Border
마진
Margin
슬라이더를 조절하여 박스 모델을 탐색하세요
margin: 32px
border: 8px
padding: 32px
Content
마진32px
테두리8px
패딩32px
콘텐츠180px
전체 너비: 244px(180 + 64)

레이어를 선택하세요

다이어그램에서 각 영역을 클릭하면
자세한 설명을 볼 수 있습니다.

box-sizing: 크기 계산 방식

🎁 선물 상자를 생각해보세요. "200px 상자"라고 하면, 상자 전체 크기일까요, 아니면 내용물만의 크기일까요?

content-box(기본값)
🎁 내용물만 200px
포장지 + 완충재가 밖으로 추가됨
내용물 크기만 200px
패딩과 테두리가 바깥으로 더해져요
내용물: 200px
+ 패딩 양쪽: 20px × 2 = 40px
+ 테두리 양쪽: 2px × 2 = 4px
실제 크기: 244px 😱
border-box권장
🎁 상자 전체가 200px
포장지 + 완충재가 안으로
상자 전체 크기가 200px
패딩과 테두리가 안쪽으로 들어가요
전체 상자: 200px (고정)
- 패딩, 테두리는 안쪽으로
- 내용물 공간이 줄어듦
실제 크기: 200px 👍

💡 바이브코딩 팁

Tailwind CSS를 사용하면 이미 border-box가 기본이라 걱정 없어요!
다른 프로젝트에서는: "모든 요소에 box-sizing: border-box를 적용해줘"

여백 스케일

4px 단위로 통일하면 디자인이 정돈되어 보여요.

4px
아이콘과 텍스트 사이
8px
버튼 내부 좌우 패딩
12px
작은 카드 내부 패딩
16px
일반 카드 내부 패딩
24px
섹션 내 요소 간격
32px
섹션 상하 패딩

📏 여백 규칙

  • • 버튼 패딩: 8~16px
  • • 카드 패딩: 16~24px
  • • 섹션 간격: 48~64px

마진 충돌

세로 마진은 합쳐지지 않고, 큰 값만 적용돼요.

예상과 다른 상황

Box A (mb: 24px)
24px만!
Box B (mt: 16px)

해결 방법

  • 한쪽만 마진 주기
  • gap 사용 (Flex/Grid)
  • 패딩으로 대체

💡 바이브코딩 팁

"카드 사이 간격을 gap으로 바꿔줘"

컨테이너 (Container)란?

책을 읽을 때 글이 페이지 끝까지 가면 눈이 피로하죠? 컨테이너는 콘텐츠의 너비를 적당히 제한해서 읽기 편하게 만들어주는 역할을 해요.

max-width로 최대 너비 제한margin: auto로 가운데 정렬padding으로 좌우 여백

화면 너비 시뮬레이터

슬라이더를 움직여서 다양한 화면 크기에서 컨테이너가 어떻게 동작하는지 확인해보세요.

화면 너비1200px
320px1920px
컨테이너 없음 (width: 100%) — 항상 화면 전체
콘텐츠가 화면 끝까지 퍼짐 (1200px)
컨테이너 있음 (max-width: 1280px)
화면이 좁아서 전체 사용 (1200px)
화면(1200px)이 컨테이너(1280px)보다 좁아서 차이가 없습니다
바이브코딩 팁

"콘텐츠 최대 너비를 1200px로 제한하고 가운데 정렬해줘"

컨테이너 종류

클릭하면 각 컨테이너의 상세 설명을 볼 수 있어요.

1280px

🖥️ 가장 많이 쓰이는 '표준' 컨테이너 너비예요. 네이버, 쿠팡 같은 대부분의 웹사이트가 이 정도 너비를 사용해요. 27인치 모니터에서도 양쪽에 적당한 여백이 생겨서 보기 편합니다. 어떤 너비를 써야 할지 모르겠다면, 이걸 선택하세요!

메인 페이지랜딩 페이지일반 웹사이트

섹션 패딩 (상하 여백)

섹션과 섹션 사이의 여백을 통일하면 페이지가 정돈되어 보여요.

Section 1
Section 2
Section 3
추천: 일반 섹션 (가장 많이 사용)

정렬 규칙

왼쪽 정렬과 가운데 정렬, 언제 어떤 걸 쓸까요?

왼쪽 정렬

책을 읽을 때처럼 왼쪽에서 시작하는 자연스러운 정렬이에요. 우리 눈은 왼쪽 → 오른쪽으로 읽는 데 익숙해요. 그래서 긴 글은 왼쪽 정렬이 훨씬 읽기 편합니다. '내용'을 전달하는 텍스트에는 왼쪽 정렬을 쓰세요.

블로그 본문상품 설명폼 라벨네비게이션 메뉴목록/리스트

가운데 정렬

시선을 중앙으로 모아 '주목'시키는 정렬이에요. 영화 포스터의 제목이 가운데 있는 것처럼요. 짧은 제목이나 버튼처럼 한눈에 봐야 하는 요소에 적합해요. 단, 3줄 이상의 긴 문장은 읽기 어려우니 피하세요!

히어로 섹션 제목CTA 버튼로고카드 제목빈 상태 메시지
바이브코딩 팁

"히어로 섹션 제목은 가운데 정렬로 해줘"

"블로그 본문은 왼쪽 정렬로 해줘"

실전 규칙 요약

컨테이너 너비
일반 웹사이트: 1280px
블로그 본문
768px + 왼쪽 정렬
섹션 여백
기본 48px, 히어로 64px
좌우 패딩
모바일 16px, 데스크톱 32px