---
layout: docs
title: Containers
description: Containers are a fundamental building block of Bootstrap that contain, pad, and align your content withing a given device or viewport.
group: layout
toc: true
---
## How they work
Containers are the most basic layout element in Bootstrap and are **required when using our default grid system**. Containers are used to contain, pad, and (sometimes) center the content within them. While containers *can* be nested, most layouts do not require a nested container.
Bootstrap comes with three different containers:
- `.container`, which sets a `max-width` at each responsive breakpoint
- `.container-fluid`, which is `width: 100%` at all breakpoints
- `.container-{breakpoint}`, which is `width: 100%` until the specified breakpoint
The table below illustrates how each container's `max-width` compares to the original `.container` and `.container-fluid` across each breakpoint.
See them in action and compare them in our [Grid example]({{< docsref "/examples/grid#containers" >}}).
|
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% |
## Default container
Our default `.container` class is a responsive, fixed-width container, meaning its `max-width` changes at each breakpoint.
{{< highlight html >}}
{{< /highlight >}}
## Responsive containers
Responsive containers allow you to specify a class that is 100% wide until the specified breakpoint is reached, after which we apply `max-width`s for each of the higher breakpoints. For example, `.container-sm` is 100% wide to start until the `sm` breakpoint is reached, where it will scale up with `md`, `lg`, `xl`, and `xxl`.
{{< highlight html >}}
100% wide until small breakpoint
100% wide until medium breakpoint
100% wide until large breakpoint
100% wide until extra large breakpoint
100% wide until extra extra large breakpoint
{{< /highlight >}}
## Fluid containers
Use `.container-fluid` for a full width container, spanning the entire width of the viewport.
{{< highlight html >}}
...
{{< /highlight >}}
## Sass
As shown above, Bootstrap generates a series of predefined container classes to help you build the layouts you desire. You may customize these predefined container classes by modifying the Sass map (found in `_variables.scss`) that powers them:
{{< highlight scss >}}
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px,
xxl: 1320px
) !default;
{{< /highlight >}}
In addition to customizing the Sass, you can also create your own containers with our Sass mixin.
{{< highlight scss >}}
// 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();
}
{{< /highlight >}}
For more information and examples on how to modify our Sass maps and variables, please refer to [the Sass section of the Grid documentation]({{< docsref "/layout/grid#sass" >}}).