CSS 박스 모델이란 무엇인가?
웹 디자인과 레이아웃을 이야기할 때 빠질 수 없는 핵심 개념이 바로 박스 모델(Box Model)입니다. CSS에서는 HTML 문서 내의 모든 요소를 하나의 사각형 '박스'로 간주합니다. 즉, 텍스트 한 줄, 이미지, 버튼, 섹션 등 페이지에 배치되는 모든 요소가 각각의 박스 형태로 화면에 렌더링됩니다.
이러한 박스 구조를 정확히 이해해야 요소의 크기 조절, 여백 설정, 요소 간 간격 배치 등 레이아웃 작업을 자유롭게 수행할 수 있습니다.
박스 모델의 4가지 구성 요소
CSS 박스 모델은 안쪽부터 바깥쪽까지 다음과 같은 네 가지 영역으로 구성됩니다.
1. 콘텐츠(Content)
박스의 가장 중심에 위치하며, 실제로 사용자에게 보여지는 텍스트나 이미지 등의 내용이 들어가는 영역입니다. width와 height 속성으로 크기를 지정할 수 있습니다.
2. 패딩(Padding)
콘텐츠와 테두리 사이의 내부 여백을 의미합니다. 패딩은 요소의 배경색이 적용되는 영역에 포함되므로, 시각적으로 콘텐츠 주변에 숨 쉴 공간을 만들어 주는 역할을 합니다.
3. 테두리(Border)
패딩 바깥쪽을 감싸는 선으로, 두께(border-width), 스타일(border-style), 색상(border-color)을 자유롭게 지정할 수 있습니다. 테두리가 있으면 박스의 경계가 명확하게 드러납니다.
4. 마진(Margin)
테두리 바깥쪽의 외부 여백으로, 인접한 다른 요소들과의 간격을 만드는 데 사용됩니다. 마진 영역에는 배경색이 적용되지 않으며, 요소와 요소 사이를 벌려 레이아웃의 호흡 공간을 확보하는 역할을 합니다.

박스 모델을 활용한 레이아웃 설계
박스 모델은 단순한 이론이 아니라 실제 웹 레이아웃의 기반입니다. 예를 들어 카드형 UI를 만들 때 콘텐츠에 패딩을 넣고, 테두리로 경계를 그리고, 마진으로 카드 사이 간격을 조절하는 식으로 활용됩니다.
또한 최신 CSS에서는 box-sizing: border-box; 속성을 자주 사용합니다. 이 값을 적용하면 width와 height 계산에 패딩과 테두리가 포함되어, 의도한 크기대로 요소를 배치하기가 훨씬 수월해집니다.
마무리
정리하면, CSS 박스 모델은 콘텐츠 → 패딩 → 테두리 → 마진의 순서로 이루어진 계층 구조입니다. 이 구조를 머릿속에 그릴 수 있게 되면 CSS로 원하는 레이아웃을 구현하는 일이 한결 쉬워집니다. 웹 개발을 처음 시작했다면 박스 모델부터 반드시 확실히 익혀두시길 권장합니다.