mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-02 14:24:19 +01:00
177 lines
5.6 KiB
Markdown
177 lines
5.6 KiB
Markdown
---
|
|
layout: docs
|
|
title: Containers
|
|
description: Containers are a fundamental building block of Bootstrap that contain, pad, and align your content within 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" >}}).
|
|
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<td class="border-dark"></td>
|
|
<th scope="col">
|
|
Extra small<br>
|
|
<span class="fw-normal"><576px</span>
|
|
</th>
|
|
<th scope="col">
|
|
Small<br>
|
|
<span class="fw-normal">≥576px</span>
|
|
</th>
|
|
<th scope="col">
|
|
Medium<br>
|
|
<span class="fw-normal">≥768px</span>
|
|
</th>
|
|
<th scope="col">
|
|
Large<br>
|
|
<span class="fw-normal">≥992px</span>
|
|
</th>
|
|
<th scope="col">
|
|
X-Large<br>
|
|
<span class="fw-normal">≥1200px</span>
|
|
</th>
|
|
<th scope="col">
|
|
XX-Large<br>
|
|
<span class="fw-normal">≥1400px</span>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row" class="fw-normal"><code>.container</code></th>
|
|
<td class="text-muted">100%</td>
|
|
<td>540px</td>
|
|
<td>720px</td>
|
|
<td>960px</td>
|
|
<td>1140px</td>
|
|
<td>1320px</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="fw-normal"><code>.container-sm</code></th>
|
|
<td class="text-muted">100%</td>
|
|
<td>540px</td>
|
|
<td>720px</td>
|
|
<td>960px</td>
|
|
<td>1140px</td>
|
|
<td>1320px</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="fw-normal"><code>.container-md</code></th>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td>720px</td>
|
|
<td>960px</td>
|
|
<td>1140px</td>
|
|
<td>1320px</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="fw-normal"><code>.container-lg</code></th>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td>960px</td>
|
|
<td>1140px</td>
|
|
<td>1320px</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="fw-normal"><code>.container-xl</code></th>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td>1140px</td>
|
|
<td>1320px</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="fw-normal"><code>.container-xxl</code></th>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td>1320px</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="fw-normal"><code>.container-fluid</code></th>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
<td class="text-muted">100%</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
## Default container
|
|
|
|
Our default `.container` class is a responsive, fixed-width container, meaning its `max-width` changes at each breakpoint.
|
|
|
|
```html
|
|
<div class="container">
|
|
<!-- Content here -->
|
|
</div>
|
|
```
|
|
|
|
## 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`.
|
|
|
|
```html
|
|
<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
|
|
|
|
Use `.container-fluid` for a full width container, spanning the entire width of the viewport.
|
|
|
|
```html
|
|
<div class="container-fluid">
|
|
...
|
|
</div>
|
|
```
|
|
|
|
## 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:
|
|
|
|
{{< scss-docs name="container-max-widths" file="scss/_variables.scss" >}}
|
|
|
|
In addition to customizing the Sass, you can also create your own containers with our Sass mixin.
|
|
|
|
```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();
|
|
}
|
|
```
|
|
|
|
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" >}}).
|