Containers

Vue Bootstrap 5 Containers

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 property fluid, which is width: 100% at all breakpoints
  • MDBContainer with property {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 property 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 property 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.


          <template>
            <MDBContainer>
              <!-- Content here -->
            </MDBContainer>
          </template>
        

          <script>
            import { MDBContainer } from 'mdb-vue-ui-kit';

            export default {
              components: {
                MDBContainer
              },
            };
          </script>
        

Responsive containers

Responsive containers allow you to specify an property 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 property makes container 100% wide to start until the sm breakpoint is reached, where it will scale up with md, lg, xl, and xxl.


          <template>
            <MDBContainer sm>100% wide until small breakpoint</MDBContainer>
            <MDBContainer md>100% wide until medium breakpoint</MDBContainer>
            <MDBContainer lg>100% wide until large breakpoint</MDBContainer>
            <MDBContainer xl>100% wide until extra large breakpoint</MDBContainer>
            <MDBContainer xxl>100% wide until extra extra large breakpoint</MDBContainer>
          </template>
        

          <script>
            import { MDBContainer } from 'mdb-vue-ui-kit';

            export default {
              components: {
                MDBContainer
              },
            };
          </script>
        

Fluid containers

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


          <template>
            <MDBContainer fluid>
              ...
            </MDBContainer>
          </template>
        

          <script>
            import { MDBContainer } from 'mdb-vue-ui-kit';

            export default {
              components: {
                MDBContainer
              },
            };
          </script>
        

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