Containers

React Bootstrap 5 Containers component

Containers are a fundamental building block of Bootstrap that contain, pad, and align your content within a given device or viewport.


How it works

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. We use MDBContainer components to create containers.

Bootstrap comes with three different containers:

  • Just MDBContainer, which sets a max-width at each responsive breakpoint
  • MDBContainer with attribute fluid, which is width: 100% at all breakpoints
  • MDBContainer with attribute {breakpoint}, which is width: 100% until the specified breakpoint

The table below illustrates how each container’s max-width compares to the original MDBContainer and with fluid attribute across each breakpoint.

See them in action and compare them in our Grid example.

Extra small
<576px
Small
≥576px
Medium
≥768px
Large
≥992px
X-Large
≥1200px
XX-Large
≥1400px
without any attribute 100% 540px 720px 960px 1140px 1320px
sm 100% 540px 720px 960px 1140px 1320px
md 100% 100% 720px 960px 1140px 1320px
lg 100% 100% 100% 960px 1140px 1320px
xl 100% 100% 100% 100% 1140px 1320px
xxl 100% 100% 100% 100% 100% 1320px
fluid 100% 100% 100% 100% 100% 100%

Default container

Our default MDBContainer component is a responsive, fixed-width container, meaning its max-width changes at each breakpoint.

        
            
            import React from 'react';
            import { MDBContainer } from 'mdb-react-ui-kit';
            
            export default function App() {
              return (
                <MDBContainer>...</MDBContainer>
              );
            }
          
        
    

Responsive containers

Responsive containers allow you to specify an attribute that makes the container 100% wide until the specified breakpoint is reached, after which we apply max-widths for each of the higher breakpoints. For example, sm attribute makes container 100% wide to start until the sm breakpoint is reached, where it will scale up with md, lg, xl, and xxl.

        
            
            import React from 'react';
            import { MDBContainer } from 'mdb-react-ui-kit';

            export default function App() {
              return (
                <>
                  <MDBContainer breakpoint="sm">100% wide until small breakpoint</MDBContainer>
                  <MDBContainer breakpoint="md">100% wide until medium breakpoint</MDBContainer>
                  <MDBContainer breakpoint="lg">100% wide until large breakpoint</MDBContainer>
                  <MDBContainer breakpoint="xl">100% wide until extra large breakpoint</MDBContainer>
                  <MDBContainer breakpoint="xxl">100% wide until extra extra large breakpoint</MDBContainer>
                </>
              );
            }
          
        
    

Fluid containers

Use fluid for a full width container, spanning the entire width of the viewport.

        
            
            import React from 'react';
            import { MDBContainer } from 'mdb-react-ui-kit';
    
            export default function App() {
              return (
                <>
                  <MDBContainer fluid>...</MDBContainer>
                </>
              );
            }
          
        
    

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:

        
            
            $container-max-widths: (
              sm: 540px,
              md: 720px,
              lg: 960px,
              xl: 1140px,
              xxl: 1320px
            );
          
        
    

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();
            }