[Bootstrap] 02. 그리드 시스템 이해하기
부트스트랩을 사용할 때 가장 먼저 익숙해져야 하는 개념은 그리드 시스템(Grid System)입니다. 그리드 시스템은 화면을 일정한 칸으로 나누고, 그 안에 콘텐츠를 배치할 수 있게 해주는 레이아웃 구조입니다.
웹사이트는 PC, 태블릿, 모바일처럼 다양한 화면 크기에서 보여야 합니다. 이때 매번 CSS를 직접 작성해서 레이아웃을 맞추기보다는, 부트스트랩의 그리드 시스템을 사용하면 훨씬 빠르게 반응형 화면을 구성할 수 있습니다.
1. 그리드 시스템이란?
그리드 시스템은 화면을 여러 개의 칸으로 나누고, 각 요소가 몇 칸을 차지할지 정해서 배치하는 방식입니다. 부트스트랩은 기본적으로 한 줄을 12칸으로 나누어 생각합니다.
예를 들어 3개의 박스를 같은 너비로 배치하고 싶다면 각각 4칸씩 차지하게 만들면 됩니다.
<div class="row">
<div class="col-4">첫 번째 영역</div>
<div class="col-4">두 번째 영역</div>
<div class="col-4">세 번째 영역</div>
</div>
4 + 4 + 4 = 12가 되므로 한 줄에 세 개의 영역이 나란히 배치됩니다.
2. 기본 구조: container, row, col
부트스트랩 그리드는 보통 아래 구조로 작성합니다.
<div class="container">
<div class="row">
<div class="col">내용 1</div>
<div class="col">내용 2</div>
<div class="col">내용 3</div>
</div>
</div>
- container: 전체 내용을 감싸는 바깥 영역
- row: 가로 한 줄을 의미하는 영역
- col: 실제 콘텐츠가 들어가는 열 영역
이 구조를 지키는 것이 중요합니다. 콘텐츠는 보통 col 안에 들어가야 하며, row는 col들을 정렬하기 위한 부모 역할을 합니다.
3. 12칸 구조 이해하기
부트스트랩의 한 줄은 12칸으로 나뉩니다. 컬럼 클래스에 숫자를 붙이면 해당 요소가 몇 칸을 차지할지 지정할 수 있습니다.
| 클래스 | 의미 |
|---|---|
| col-12 | 한 줄 전체 사용 |
| col-6 | 한 줄의 절반 사용 |
| col-4 | 한 줄의 1/3 사용 |
| col-3 | 한 줄의 1/4 사용 |
<div class="container">
<div class="row">
<div class="col-6">왼쪽</div>
<div class="col-6">오른쪽</div>
</div>
</div>
위 코드는 화면을 왼쪽과 오른쪽으로 반씩 나누는 구조입니다.
4. col만 사용할 때와 숫자를 붙일 때의 차이
1) col만 사용하는 경우
<div class="row">
<div class="col">A</div>
<div class="col">B</div>
<div class="col">C</div>
</div>
col만 사용하면 부트스트랩이 자동으로 같은 너비를 나누어 줍니다. 위 예시는 3개의 컬럼이 같은 너비로 배치됩니다.
2) col-숫자를 사용하는 경우
<div class="row">
<div class="col-8">큰 영역</div>
<div class="col-4">작은 영역</div>
</div>
숫자를 붙이면 직접 너비를 조절할 수 있습니다. 위 예시는 왼쪽 영역이 8칸, 오른쪽 영역이 4칸을 차지합니다.
5. 반응형 클래스
부트스트랩 그리드의 핵심은 반응형 클래스입니다. 화면 크기에 따라 컬럼의 너비를 다르게 지정할 수 있습니다.
<div class="row">
<div class="col-12 col-md-6 col-lg-4">카드 1</div>
<div class="col-12 col-md-6 col-lg-4">카드 2</div>
<div class="col-12 col-md-6 col-lg-4">카드 3</div>
</div>
이 코드는 화면 크기에 따라 다음처럼 동작합니다.
- 모바일: col-12 → 한 줄에 1개
- 태블릿 이상: col-md-6 → 한 줄에 2개
- 큰 화면 이상: col-lg-4 → 한 줄에 3개
즉, 같은 HTML 코드로 모바일과 PC 화면을 모두 대응할 수 있습니다.
6. Bootstrap의 주요 화면 기준
부트스트랩은 화면 크기를 기준으로 여러 단계의 breakpoint를 제공합니다. 자주 사용하는 기준은 아래와 같습니다.
| 구분 | 클래스 접두어 | 화면 크기 기준 |
|---|---|---|
| Extra small | 없음 | 576px 미만 |
| Small | sm | 576px 이상 |
| Medium | md | 768px 이상 |
| Large | lg | 992px 이상 |
| Extra large | xl | 1200px 이상 |
| Extra extra large | xxl | 1400px 이상 |
예를 들어 col-md-6은 md 크기 이상부터 6칸을 차지한다는 뜻입니다. md보다 작은 화면에서는 다른 클래스가 적용되거나 기본 흐름에 따라 배치됩니다.
7. container와 container-fluid
container는 콘텐츠의 최대 너비를 제한하고 가운데 정렬하는 역할을 합니다. 일반적인 웹사이트 본문 영역에 자주 사용됩니다.
<div class="container">
가운데 정렬된 고정 폭 영역
</div>
반면 container-fluid는 화면 전체 너비를 사용합니다. 대시보드, 배너, 넓은 배경 영역을 만들 때 자주 사용됩니다.
<div class="container-fluid">
화면 전체 너비를 사용하는 영역
</div>
8. gutter로 간격 조절하기
컬럼 사이의 간격은 gutter라고 부릅니다. 부트스트랩에서는 g 클래스를 사용해 간격을 조절할 수 있습니다.
<div class="row g-3">
<div class="col-6">카드 1</div>
<div class="col-6">카드 2</div>
</div>
g-3은 컬럼 사이에 일정한 간격을 주는 클래스입니다. 간격이 너무 붙어 보일 때는 g-2, g-3, g-4 같은 클래스를 활용하면 됩니다.
9. 자주 하는 실수
- row 없이 col을 바로 사용하는 경우
- container 없이 전체 구조를 작성하는 경우
- 한 줄에서 col 숫자의 합이 12를 넘는 경우
- 모바일 화면을 고려하지 않고 col-4 같은 고정 컬럼만 사용하는 경우
- 간격을 직접 margin으로만 처리하려고 하는 경우
특히 처음 배울 때는 container, row, col 순서를 지키는 연습이 중요합니다. 이 구조만 익숙해져도 부트스트랩 레이아웃의 절반은 이해한 것과 같습니다.
10. 정리
- 부트스트랩 그리드는 화면을 12칸 기준으로 나누는 레이아웃 시스템이다.
- 기본 구조는 container → row → col 순서다.
- col만 쓰면 자동으로 같은 너비를 나누고, col-숫자를 쓰면 직접 너비를 지정할 수 있다.
- col-md-6, col-lg-4처럼 화면 크기별 반응형 레이아웃을 만들 수 있다.
- container-fluid는 화면 전체 너비를 사용할 때 적합하다.
부트스트랩의 그리드 시스템은 단순히 칸을 나누는 기능이 아니라, 다양한 화면 크기에 맞춰 레이아웃을 안정적으로 유지하기 위한 핵심 구조입니다.
다음 글에서는 부트스트랩에서 자주 사용하는 버튼, 카드, 네비게이션 바 같은 컴포넌트를 정리해보겠습니다.

'Tech Stack > BootStrap' 카테고리의 다른 글
| [Bootstrap] 06. 알림창(Alert), 배지(Badge), 진행바(Progress) (0) | 2026.05.22 |
|---|---|
| [Bootstrap] 05. 유틸리티 클래스 이해하기 (0) | 2026.05.18 |
| [Bootstrap] 04. 폼(Form)과 모달(Modal) 이해하기 (0) | 2026.05.16 |
| Bootstrap] 03. 자주 쓰는 컴포넌트: 버튼, 카드, 네비게이션 바 (0) | 2026.05.15 |
| [Bootstrap] 01. 부트스트랩이란? 왜 이렇게 많이 쓰일까? (0) | 2026.02.13 |