본문 바로가기
카테고리 없음

CSS 박스 모델(Box Model) 쉽게 이해하기

by info521 2025. 10. 7.

웹페이지를 구성하는 모든 요소는 보이지 않더라도 보이지 않는 상자(Box) 형태로 존재합니다.
바로 이 개념이 **CSS Box Model(박스 모델)**입니다.

이 글에서는 비전공자도 이해할 수 있도록 박스 모델의 구성 요소, 작동 방식, 마진과 패딩의 차이, 실전 예제를 통해 쉽고 명확하게 정리해 드리겠습니다.


✅ 박스 모델(Box Model)이란?

CSS 박스 모델은 웹페이지의 모든 요소를 하나의 사각형 상자로 보고,
그 상자에 여백(margin), 테두리(border), 패딩(padding), **내용(content)**이 어떻게 쌓이는지를 설명하는 모델입니다.

즉, 텍스트 하나, 버튼 하나, 이미지 하나도 모두 보이지 않는 박스로 구성되어 있으며,
이 박스의 크기와 간격을 조절하는 것이 웹 레이아웃의 핵심입니다.


✅ Box Model 구성 요소 4가지

구성 요소설명
Content 실제 콘텐츠 영역 (텍스트, 이미지 등)
Padding 콘텐츠와 테두리 사이의 안쪽 여백
Border 요소를 감싸는 테두리
Margin 요소 바깥쪽의 공간 (다른 요소와의 거리)

내부 → 외부 순서로 쌓입니다:
[margin] → [border] → [padding] → [content]


✅ 기본 예제 코드로 이해하기

 
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>박스 모델 예제</title> <style> .box { width: 300px; padding: 20px; border: 5px solid #3498db; margin: 30px auto; background-color: #ecf0f1; font-size: 18px; text-align: center; } </style> </head> <body> <div class="box"> 이것이 박스 모델입니다. </div> </body> </html>

📌 코드 설명:

  • width: 300px; → 콘텐츠 영역의 너비
  • padding: 20px; → 콘텐츠 내부 여백
  • border: 5px solid → 테두리 두께
  • margin: 30px auto; → 바깥 여백 (세로 30px, 좌우 가운데 정렬)

이 박스의 총 너비는:
300px (content) + 20px2 (padding) + 5px2 (border) = 350px


✅ 마진(Margin)과 패딩(Padding)의 차이점

구분PaddingMargin
위치 내부 여백 (콘텐츠와 테두리 사이) 외부 여백 (요소와 다른 요소 사이)
배경색 배경색 적용됨 배경색 적용되지 않음
공간 영향 요소 크기에 포함됨 (box-sizing 설정에 따라 다름) 요소 크기와는 별개로 동작

✅ box-sizing 속성으로 모델 제어하기

기본적으로 padding과 border는 요소 크기에 더해지지만,
이를 제어하려면 box-sizing 속성을 사용합니다.

 
* { box-sizing: border-box; }
  • content-box (기본값): width/height에 padding과 border가 포함되지 않음
  • border-box: padding과 border를 width/height 안에 포함

실무에서는 border-box를 사용하는 것이 일반적이며,
전체 스타일 초기화 시 많이 사용됩니다.


✅ 실전 팁: 박스 간격 조절은 margin으로

여러 박스를 나란히 배치하거나 간격을 조절할 때는 보통 margin을 사용합니다.

 
.card { margin-bottom: 20px; }

또는 가로 간격은 margin-right, margin-left로 설정합니다.


✅ Box Model 디버깅 방법

브라우저의 개발자 도구(F12)를 열고,
요소를 선택하면 Box Model 구조를 시각적으로 확인할 수 있습니다.

크롬 기준으로는 Computed 탭 → Box Model 도식에서
margin, border, padding, content를 확인할 수 있습니다.


마무리: 박스 모델을 이해하면 레이아웃이 쉬워진다

웹페이지는 텍스트나 이미지처럼 보이지만,
실제로는 **보이지 않는 상자들(Box)**로 정렬된 구조입니다.

이 구조를 이해하면 CSS 레이아웃 문제의 80%는 해결할 수 있으며,
앞으로 배우게 될 Flexbox, Grid, Position 속성 등도 훨씬 쉽게 이해할 수 있습니다.

박스 모델은 CSS의 핵심 중의 핵심입니다.
오늘 배운 내용을 바탕으로, 자신만의 레이아웃을 구성해보며 감각을 익혀보세요.