컨테이너
컨테이너 (Containers)
주어진 디바이스나 뷰포트 안에서 콘텐츠를 담고, 패딩을 더하고, 정렬하는 Bootstrap의 기본 구성 요소예요.
출처: 문서
본문
동작 원리 (How they work)
컨테이너는 Bootstrap에서 가장 기본적인 레이아웃 요소로, 기본 그리드 시스템을 사용할 때 반드시 필요해요. 컨테이너는 그 안의 콘텐츠를 담고, 패딩을 더하고, (때로는) 가운데 정렬하는 데 사용해요. 컨테이너는 중첩할 수 있지만, 대부분의 레이아웃은 중첩 컨테이너를 요구하지 않아요.
Bootstrap은 세 가지 컨테이너를 제공해요:
.container— 각 반응형 브레이크포인트에서 max-width를 설정.container-{breakpoint}— 지정된 브레이크포인트 전까지는width: 100%.container-fluid— 모든 브레이크포인트에서width: 100%
아래 표는 각 브레이크포인트에서 각 컨테이너의 max-width가 기본 .container와 .container-fluid와 어떻게 비교되는지 보여 줘요.
| 클래스 | Extra small <576px | Small ≥576px | Medium ≥768px | Large ≥992px | X-Large ≥1200px | XX-Large ≥1400px |
|---|---|---|---|---|---|---|
.container |
100% | 540px | 720px | 960px | 1140px | 1320px |
.container-sm |
100% | 540px | 720px | 960px | 1140px | 1320px |
.container-md |
100% | 100% | 720px | 960px | 1140px | 1320px |
.container-lg |
100% | 100% | 100% | 960px | 1140px | 1320px |
.container-xl |
100% | 100% | 100% | 100% | 1140px | 1320px |
.container-xxl |
100% | 100% | 100% | 100% | 100% | 1320px |
.container-fluid |
100% | 100% | 100% | 100% | 100% | 100% |
Grid 예제에서 실제로 동작하는 모습을 비교해 볼 수 있어요.
기본 컨테이너 (Default container)
기본 .container 클래스는 반응형 고정 폭 컨테이너예요. 즉 각 브레이크포인트에서 max-width가 달라져요.
<div class="container">
<!-- Content here -->
</div>
반응형 컨테이너 (Responsive containers)
반응형 컨테이너는 지정된 브레이크포인트에 도달하기 전까지는 100% 너비인 클래스를 지정할 수 있게 해 줘요. 그 이후에는 더 높은 브레이크포인트들에 대해 max-width를 적용해요. 예를 들어 .container-sm은 처음에는 100% 너비였다가 sm 브레이크포인트에서부터 md, lg, xl, xxl에 맞춰 함께 커져요.
<div class="container-sm">
100% wide until small breakpoint
</div>
<div class="container-md">
100% wide until medium breakpoint
</div>
<div class="container-lg">
100% wide until large breakpoint
</div>
<div class="container-xl">
100% wide until extra large breakpoint
</div>
<div class="container-xxl">
100% wide until extra extra large breakpoint
</div>
유동 컨테이너 (Fluid containers)
뷰포트 전체 너비를 차지하는 컨테이너에는 .container-fluid를 사용해요.
<div class="container-fluid">
...
</div>
Sass 변수 (Sass variables)
위에서 보여 준 것처럼 Bootstrap은 원하는 레이아웃을 만들 수 있도록 일련의 미리 정의된 컨테이너 클래스를 생성해요. 이 컨테이너 클래스들을 뒷받침하는 Sass 맵(_variables.scss에 있음)을 수정해서 커스터마이즈할 수 있어요:
scss/_variables.scss
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px,
xxl: 1320px
);
Sass 맵과 변수 수정 방법에 대한 자세한 정보와 예시는 Grid 문서의 Sass 섹션을 참조하세요.
Sass mixin (Sass mixins)
Sass를 커스터마이즈하는 것 외에도, Sass mixin으로 자신만의 컨테이너를 만들 수도 있어요.
// Source mixin
@mixin make-container($padding-x: $container-padding-x) {
width: 100%;
padding-right: $padding-x;
padding-left: $padding-x;
margin-right: auto;
margin-left: auto;
}
// Usage
.custom-container {
@include make-container();
}