Containers are a fundamental building block of Material Style that contain, pad, and align your content within a given device or viewport.
Containers are the most basic layout element in Material Style 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.
Material Style comes with three different containers:
.container
, which sets a max-width
at each responsive breakpoint.container-{breakpoint}
, which is width: 100%
until the specified breakpoint.container-fluid
, which is width: 100%
at all breakpointsThe table below illustrates how each container’s max-width
compares to the original .container
and .container-fluid
across each breakpoint.
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% |
Our default .container
class is a responsive, fixed-width container, meaning its max-width
changes at each
breakpoint.
<div class="container">
<!-- Content here -->
</div>
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
.
<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>
Use .container-fluid
for a full width container, spanning the entire width of the viewport.
<div class="container-fluid">
...
</div>
As shown above, Material Style 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:
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px,
xxl: 1320px
);
For more information and examples on how to modify our Sass maps and variables, please refer to the Sass section of the Grid documentation.
In addition to customizing the Sass, you can also create your own containers with our 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();
}