DEV Community

Cover image for Bootstrap 5 Spacing
Keep Coding
Keep Coding

Posted on

Bootstrap 5 Spacing

What are Bootstrap Spacing?

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


Installation

Manual installation (zip package)

To take advantage of our Bootstrap images component and use them in your project, you first need to install the MDB 5 Free package


MDB CLI

Watch our Quick Start Tutorial to discover and use the full potential of MDB 5 and MDB CLI


NPM

Prerequisites

Before starting the project make sure to install Node LTS (12.x.x recommended).

Installation

To install MDB UI KIT in your project easily type the following command in the terminal:

npm i mdb-ui-kit 
Enter fullscreen mode Exit fullscreen mode
Importing JS modules

You can import the entire library or just individual modules:

import * as mdb from 'mdb-ui-kit'; // lib
import { Input } from 'mdb-ui-kit'; // module 
Enter fullscreen mode Exit fullscreen mode
Importing CSS file

To import MDB stylesheet please use the following syntax:

@import '~mdb-ui-kit/css/mdb.min.css'; 
Enter fullscreen mode Exit fullscreen mode
Importing SCSS modules

You can also import individual SCSS modules. To do it properly, we recommend to copy them from the node_modules/mdb-ui-kit/src/scss location directly to your project and import in the same way as CSS files.

Webpack integration

You can significantly speed up the process of creating a new project based on Webpack using our Starter.


CDN

Installation via CDN is one of the easiest methods of integrating MDB UI KIT with your project. Just copy the latest compiled JS script tag and CSS link tag from cdnjs to the application.

Don't forget to add also Font Awesome and Roboto font if you need. Here's an example code:

CSS
<!-- Font Awesome -->
<link
  href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
  rel="stylesheet"
/>
<!-- Google Fonts -->
<link
  href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
  rel="stylesheet"
/>
<!-- MDB -->
<link
  href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.css"
  rel="stylesheet"
/>
Enter fullscreen mode Exit fullscreen mode
JS
<!-- MDB -->
<script
  type="text/javascript"
  src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.js"
></script>
Enter fullscreen mode Exit fullscreen mode

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.


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 - (start) for classes that set margin-left or padding-left
  • e - (end) 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.)

Customization

Examples

Here are some representative examples of these classes:

SCSS
.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;
}
Enter fullscreen mode Exit fullscreen mode

You can see more customization examples on the πŸ“„ Spacing documentation page


Crucial Resources

Here are the resources that we have prepared to help you work with this component:

  1. Read πŸ“„ Spacing documentation page <-- start here
  2. In to get the most out of your project, you should also get acquainted with other Utilities options related to Spacing. See the section below to find the list of them.
  3. You can use Utilities in πŸ“₯ Starter Bootstrap 5 templates
  4. Templates are a part of πŸ“¦ Free UI Kit for Bootstrap 5
  5. After finishing the project you can publish it with CLI in order to receive πŸ’½ Free hosting (beta)

Related Utilities options & features


Learn Bootstrap 5 in 1.5H


Additional resources

Learn web development with our learning roadmap:
πŸŽ“ Start Learning

Join our mailing list & receive exclusive resources for developers
🎁 Get gifts

Join our private FB group for inspiration & community experience
πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Ask to join

Support creation of open-source packages with a STAR on GitHub
GitHub Stars

Top comments (0)