Layout

Container

A component for fixing an element’s width to the current breakpoint.

Quick reference

Class Breakpoint Properties
container None width: 100%;
sm (640px) max-width: 640px;
md (768px) max-width: 768px;
lg (1024px) max-width: 1024px;
xl (1280px) max-width: 1280px;
2xl (1536px) max-width: 1536px;

Basic usage

Using the container

The container class sets the max-width of an element to match the min-width of the current breakpoint. This is useful if you’d prefer to design for a fixed set of screen sizes instead of trying to accommodate a fully fluid viewport.

Note that unlike containers you might have used in other frameworks, Tailwind’s container does not center itself automatically and does not have any built-in horizontal padding.

To center a container, use the mx-auto utility:


1. <div class="container mx-auto">
2. <!-- ... -->
3. </div>

To add horizontal padding, use the px-{size} utilities:


1. <div class="container mx-auto px-4">
2. <!-- ... -->
3. </div>

If you’d like to center your containers by default or include default horizontal padding, see the customization options below.


Applying conditionally

Responsive variants

The container class also includes responsive variants like md:container by default that allow you to make something behave like a container at only a certain breakpoint and up:


1. <!-- Full-width fluid until the `md` breakpoint, then lock to container -->
2. <div class="md:container md:mx-auto">
3. <!-- ... -->
4. </div>


Customizing

Centering by default

To center containers by default, set the center option to true in the theme.container section of your config file:

tailwind.config.js


1. module.exports = {
2. theme: {
3. container: {
4. center: true,
5. },
6. },
7. }

Adding horizontal padding

To add horizontal padding by default, specify the amount of padding you’d like using the padding option in the theme.container section of your config file:

tailwind.config.js


1. module.exports = {
2. theme: {
3. container: {
4. padding: '2rem',
5. },
6. },
7. }

If you want to specify a different padding amount for each breakpoint, use an object to provide a default value and any breakpoint-specific overrides:

tailwind.config.js


1. module.exports = {
2. theme: {
3. container: {
4. padding: {
5. DEFAULT: '1rem',
6. sm: '2rem',
7. lg: '4rem',
8. xl: '5rem',
9. '2xl': '6rem',
10. },
11. },
12. },
13. };