Spacings - margins, paddings and gaps
In VUD we include a wide range of shorthand responsive margins, paddings and gaps to help you modify the appearance of an element/component.
Notation
The spacing utilities can be applied to all breakpoints, from xs
to xxl
, or to none.
The classes are named using the format {property}{sides}-{size}
(eg. .mr-24
- margin-right: 2.4rem) and {property}{sides}-{breakpoint}-{size}
(eg. .mr-md-24
- margin-right: 2.4rem
for screens larger than 992px) for xs
, sm
, md
, lg
, xl
, and xxl
.
Where {property}
is one of:
m
- for classes that set marginp
- for classes that set paddinggap
- for classes that set the gap (gutters between grid and flexbox items).
Where {sides}
is one of:
t
- for classes that set margin-top or padding-topb
- for classes that set margin-bottom or padding-bottoml
- for classes that set margin-left or padding-leftr
- for classes that set margin-right or padding-rightx
- for classes that set margin, padding and gap for both *-left and *-righty
- for classes that set margin, padding and gap for 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 set the margin/padding/gap to 02
- for classes that set the margin/padding/gap to 0.2rem (2px)4
- for classes that set the margin/padding/gap to 0.4rem (4px)6
- for classes that set the margin/padding/gap to 0.6rem (6px)8
- for classes that set the margin/padding/gap to 0.8rem (8px)10
- for classes that set the margin/padding/gap to 1rem (10px)12
- for classes that set the margin/padding/gap to 1.2rem (12px)16
- for classes that set the margin/padding/gap to 1.6rem (16px)24
- for classes that set the margin/padding/gap to 2.4rem (24px)32
- for classes that set the margin/padding/gap to 3.2rem (32px)40
- for classes that set the margin/padding/gap to 4rem (40px)48
- for classes that set the margin/padding/gap to 4.8rem (48px)64
- for classes that set the margin/padding/gap to 6.4rem (64px)96
- for classes that set the margin/padding/gap to 9.6rem (96px)128
- for classes that set the margin/padding/gap to 12.8rem (128px)auto
- for classes that set the margin to auto
<!-- margin top: 0px -->
<div class="mt-0"> ... </div>
<!-- margin top and bottom: 8px/0.8rem -->
<div class="my-8"> ... </div>
<!-- padding right and left: 12px/1.2rem -->
<div class="px-12"> ... </div>
<!-- padding left: 12px/1.2rem for @media (min-width: $screen-lg-min) -->
<div class="pl-lg-12"> ... </div>
<!-- gap: 12px/1.2rem -->
<div class="gap-12"> ... </div>
You are also able to use them as variables: $spacing-0
, $spacing-2
, $spacing-4
, $spacing-6
, $spacing-8
, $spacing-10
, $spacing-12
, $spacing-16
, $spacing-24
, $spacing-32
, $spacing-40
, $spacing-48
, $spacing-64
, $spacing-96
, $spacing-128
, $spacing-auto
Negative margin
In CSS, margin
properties can have negative values (padding
cannot). The syntax for negative margins is nearly the same as the one for the positive margin, but with the addition of n
before the requested size. Here's an example class: .mt-n4
which is margin-top: -0.4rem
<div class="mb-n24"> ... </div>
<div class="mb-sm-n12"> ... </div>
<!-- How this clasess will look in CSS -->
.mt-0 {
margin-top: 0 !important;
}
.mr-24 {
margin-right: 2.4rem !important;
}
.px-12 {
padding-right: 1.2rem !important;
padding-left: 1.2rem !important;
}
.p-8 {
padding: 0.8rem !important;
}
.ml-lg-4 {
@media (min-width: $screen-md-min) {
margin-left: 0.4rem !important;
}
}
.mb-n24 {
margin-bottom: -2.4rem !important;
}