Spacing

Angular Bootstrap 5 Spacing

MDB includes a wide range of shorthand responsive margin and padding utility classes to modify an element’s appearance.


How it works

Assign responsive-friendly margin or padding values to an element or a subset of its sides with shorthand classes. Includes support for individual properties, all properties, and vertical and horizontal properties. Classes are built from a default Sass map ranging from .25rem to 3rem.

Note: If you want to add margin to the left side you must use the class ms-* (margin start) instead of ml-* (margin left).

Likewise for the margin on the right: you have to use the class me-* (margin end) instead of mr-* (margin right).

Below is an example using classes for the right margin with a visual representation of their sizes. The same sizes apply to all directions (left, right, top, bottom) and for both margins and padding.

Class name Size Visual representation
.me-1 0.25rem
.me-2 0.5rem
.me-3 1rem
.me-4 1.5rem
.me-5 3rem

Notation

Spacing utilities that apply to all breakpoints, from xs to xxl, have no breakpoint abbreviation in them. This is because those classes are applied from min-width: 0 and up, and thus are not bound by a media query. The remaining breakpoints, however, do include a breakpoint abbreviation.

The classes are named using the format {property}{sides}-{size} for xs and {property}{sides}-{breakpoint}-{size} for sm, md, lg, xl, and xxl.

Where property is one of:

  • m - for classes that set margin
  • p - for classes that set padding

Where sides is one of:

  • t - for classes that set margin-top or padding-top
  • b - for classes that set margin-bottom or padding-bottom
  • s - for classes that set margin-left or padding-left
  • e - for classes that set margin-right or padding-right
  • x - for classes that set both *-left and *-right
  • y - for classes that set both *-top and *-bottom
  • blank - for classes that set a margin or padding on all 4 sides of the element

Where size is one of:

  • 0 - for classes that eliminate the margin or padding by setting it to 0
  • 1 - (by default) for classes that set the margin or padding to $spacer * .25
  • 2 - (by default) for classes that set the margin or padding to $spacer * .5
  • 3 - (by default) for classes that set the margin or padding to $spacer
  • 4 - (by default) for classes that set the margin or padding to $spacer * 1.5
  • 5 - (by default) for classes that set the margin or padding to $spacer * 3
  • auto - for classes that set the margin to auto

(You can add more sizes by adding entries to the $spacers Sass map variable.)


Examples

Here are some representative examples of these classes:

        
            
            .mt-0 {
              margin-top: 0 !important;
            }
            .ms-1 {
              margin-left: ($spacer * .25) !important;
            }
            .px-2 {
              padding-left: ($spacer * .5) !important;
              padding-right: ($spacer * .5) !important;
            }
            .p-3 {
              padding: $spacer !important;
            }
          
        
    

Horizontal centering

Additionally, Bootstrap also includes an .mx-auto class for horizontally centering fixed-width block level content—that is, content that has display: block and a width set—by setting the horizontal margins to auto.

Centered element
        
            
              <div class="mx-auto" style="width: 200px;">Centered element</div>
            
        
    

Negative margin

In CSS, margin properties can utilize negative values (padding cannot). These negative margins are disabled by default, but can be enabled in Sass by setting $enable-negative-margins: true.

The syntax is nearly the same as the default, positive margin utilities, but with the addition of n before the requested size. Here’s an example class that’s the opposite of .mt-1:

        
            
              .mt-n1 {
                margin-top: -0.25rem !important;
              }
            
        
    

Gap

When using display: grid, you can make use of gap utilities on the parent grid container. This can save on having to add margin utilities to individual grid items (children of a display: grid container). Gap utilities are responsive by default, and are generated via our utilities API, based on the $spacers Sass map.

Grid item 1
Grid item 2
Grid item 3
        
            
              <div class="d-grid gap-3">
                <div class="p-2 bg-light border">Grid item 1</div>
                <div class="p-2 bg-light border">Grid item 2</div>
                <div class="p-2 bg-light border">Grid item 3</div>
              </div>
            
        
    

Support includes responsive options for all of Bootstrap’s grid breakpoints, as well as six sizes from the $spacers map (05). There is no .gap-auto utility class as it’s effectively the same as .gap-0.