Gutters

React Bootstrap 5 Gutters component

Gutters are the padding between your columns, used to responsively space and align content in the Bootstrap grid system.


How they work

  • Gutters are the gaps between column content, created by horizontal padding. We set padding-right and padding-left on each column, and use negative margin to offset that at the start and end of each row to align content.

  • Gutters start at 1.5rem (24px) wide. This allows us to match our grid to the padding and margin spacers scale.

  • Gutters can be responsively adjusted. Use breakpoint-specific gutter classes to modify horizontal gutters, vertical gutters, and all gutters.


Horizontal gutters

.gx-* classes can be used to control the horizontal gutter widths. The .container or .container-fluid parent may need to be adjusted if larger gutters are used too to avoid unwanted overflow, using a matching padding utility. For example, in the following example we’ve increased the padding with .px-4:

Custom column padding
Custom column padding

        import React from "react";
        import { MDBCol, MDBRow, MDBContainer } from 'mdb-react-ui-kit';

        export default function App(){
          return (
            <MDBContainer className="px-4">
              <MDBRow className="gx-5">
                <MDBCol>
                  <div class="p-3 col-example">Custom column padding</div>
                </MDBCol>
                <MDBCol>
                  <div class="p-3 col-example">Custom column padding</div>
                </MDBCol>
              </MDBRow>
            </MDBContainer>
          );
        }
      

An alternative solution is to add a wrapper around the MDBRow with the .overflow-hidden class:

Custom column padding
Custom column padding

        import React from "react";
        import { MDBCol, MDBRow, MDBContainer } from 'mdb-react-ui-kit';

        export default function App(){
          return (
            <MDBContainer className="overflow-hidden">
              <MDBRow className="gx-5">
                <MDBCol>
                  <div class="p-3 col-example">Custom column padding</div>
                </MDBCol>
                <MDBCol>
                  <div class="p-3 col-example">Custom column padding</div>
                </MDBCol>
              </MDBRow>
            </MDBContainer>
          );
        }
      

Vertical gutters

.gy-* classes can be used to control the vertical gutter widths. Like the horizontal gutters, the vertical gutters can cause some overflow below the MDBRow at the end of a page. If this occurs, you add a wrapper around MDBRow with the .overflow-hidden class:

Custom column padding
Custom column padding
Custom column padding
Custom column padding

        import React from "react";
        import { MDBCol, MDBRow, MDBContainer } from 'mdb-react-ui-kit';

        export default function App(){
          return (
            <MDBContainer className='overflow-hidden'>
              <MDBRow className='gy-5'>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
              </MDBRow>
            </MDBContainer>
          );
        }
      

Horizontal & vertical gutters

.g-* classes can be used to control the horizontal gutter widths, for the following example we use a smaller gutter width, so there won’t be a need to add the .overflow-hidden wrapper class.

Custom column padding
Custom column padding
Custom column padding
Custom column padding

        import React from "react";
        import { MDBCol, MDBRow, MDBContainer } from 'mdb-react-ui-kit';

        export default function App(){
          return (
            <MDBContainer>
              <MDBRow className='g-2'>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
                <MDBCol size='6'>
                  <div className='p-3 col-example'>Custom column padding</div>
                </MDBCol>
              </MDBRow>
            </MDBContainer>
          );
        }
      

Row columns gutters

Gutter classes can also be added to row columns. In the following example, we use responsive row columns and responsive gutter classes. To use row columns on MDBRow pass attribute cols="*" to it. If you want to pass more than one argument use dynamic :cols="[]" instead.

Row column
Row column
Row column
Row column
Row column
Row column
Row column
Row column
Row column
Row column

        import React from "react";
        import { MDBCol, MDBRow, MDBContainer } from 'mdb-react-ui-kit';

        export default function App(){
          return (
            <MDBContainer>
              <MDBRow className='row-cols-2 row-cols-lg-5 g-2 g-lg-3'>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
                <MDBCol>
                  <div className='p-3 col-example'>Row column</div>
                </MDBCol>
              </MDBRow>
            </MDBContainer>
          );
        }
      

No gutters

The gutters between columns in our predefined grid classes can be removed with .g-0. This removes the negative margins from MDBRow and the horizontal padding from all immediate children columns.

Need an edge-to-edge design? Drop the parent MDBContainer or MDBContainer fluid.

In practice, here’s how it looks. Note you can continue to use this with all other predefined grid classes (including column widths, responsive tiers, reorders, and more).

.col-sm-6 .col-md-8
.col-6 .col-md-4

        import React from "react";
        import { MDBCol, MDBRow } from 'mdb-react-ui-kit';

        export default function App(){
          return (
            <MDBRow className='g-0'>
              <MDBCol sm='6' md='8' className='col-example'>
                .col-sm-6 .col-md-8
              </MDBCol>
              <MDBCol size='6' md='4' className='col-example'>
                .col-6 .col-md-4
              </MDBCol>
            </MDBRow>
          );
        }
      

Change the gutters

Classes are built from the $gutters Sass map which is inherited from the $spacers Sass map.


    $grid-gutter-width: 1.5rem;
    $gutters: (
      0: 0,
      1: $spacer * .25,
      2: $spacer * .5,
      3: $spacer,
      4: $spacer * 1.5,
      5: $spacer * 3,
    );