Assign responsive-friendly padding values to an element or a subset of its sides with shorthand classes.
| Class | Styles |
|---|---|
| .p-0 | padding: var(--cui-spacer-0); |
| .p-1 | padding: var(--cui-spacer-1); |
| .p-2 | padding: var(--cui-spacer-2); |
| .p-3 | padding: var(--cui-spacer-3); |
| .p-4 | padding: var(--cui-spacer-4); |
| .p-5 | padding: var(--cui-spacer-5); |
| .p-6 | padding: var(--cui-spacer-6); |
| .p-7 | padding: var(--cui-spacer-7); |
| .p-8 | padding: var(--cui-spacer-8); |
| .p-9 | padding: var(--cui-spacer-9); |
| .p-10 | padding: var(--cui-spacer-10); |
| .p-11 | padding: var(--cui-spacer-11); |
| .p-12 | padding: var(--cui-spacer-12); |
| .pt-0 | padding-top: var(--cui-spacer-0); |
| .pt-1 | padding-top: var(--cui-spacer-1); |
| .pt-2 | padding-top: var(--cui-spacer-2); |
| .pt-3 | padding-top: var(--cui-spacer-3); |
| .pt-4 | padding-top: var(--cui-spacer-4); |
| .pt-5 | padding-top: var(--cui-spacer-5); |
| .pt-6 | padding-top: var(--cui-spacer-6); |
| .pt-7 | padding-top: var(--cui-spacer-7); |
| .pt-8 | padding-top: var(--cui-spacer-8); |
| .pt-9 | padding-top: var(--cui-spacer-9); |
| .pt-10 | padding-top: var(--cui-spacer-10); |
| .pt-11 | padding-top: var(--cui-spacer-11); |
| .pt-12 | padding-top: var(--cui-spacer-12); |
| .pb-0 | padding-bottom: var(--cui-spacer-0); |
| .pb-1 | padding-bottom: var(--cui-spacer-1); |
| .pb-2 | padding-bottom: var(--cui-spacer-2); |
| .pb-3 | padding-bottom: var(--cui-spacer-3); |
| .pb-4 | padding-bottom: var(--cui-spacer-4); |
| .pb-5 | padding-bottom: var(--cui-spacer-5); |
| .pb-6 | padding-bottom: var(--cui-spacer-6); |
| .pb-7 | padding-bottom: var(--cui-spacer-7); |
| .pb-8 | padding-bottom: var(--cui-spacer-8); |
| .pb-9 | padding-bottom: var(--cui-spacer-9); |
| .pb-10 | padding-bottom: var(--cui-spacer-10); |
| .pb-11 | padding-bottom: var(--cui-spacer-11); |
| .pb-12 | padding-bottom: var(--cui-spacer-12); |
| .ps-0 | padding-inline-start: var(--cui-spacer-0); |
| .ps-1 | padding-inline-start: var(--cui-spacer-1); |
| .ps-2 | padding-inline-start: var(--cui-spacer-2); |
| .ps-3 | padding-inline-start: var(--cui-spacer-3); |
| .ps-4 | padding-inline-start: var(--cui-spacer-4); |
| .ps-5 | padding-inline-start: var(--cui-spacer-5); |
| .ps-6 | padding-inline-start: var(--cui-spacer-6); |
| .ps-7 | padding-inline-start: var(--cui-spacer-7); |
| .ps-8 | padding-inline-start: var(--cui-spacer-8); |
| .ps-9 | padding-inline-start: var(--cui-spacer-9); |
| .ps-10 | padding-inline-start: var(--cui-spacer-10); |
| .ps-11 | padding-inline-start: var(--cui-spacer-11); |
| .ps-12 | padding-inline-start: var(--cui-spacer-12); |
| .pe-0 | padding-inline-end: var(--cui-spacer-0); |
| .pe-1 | padding-inline-end: var(--cui-spacer-1); |
| .pe-2 | padding-inline-end: var(--cui-spacer-2); |
| .pe-3 | padding-inline-end: var(--cui-spacer-3); |
| .pe-4 | padding-inline-end: var(--cui-spacer-4); |
| .pe-5 | padding-inline-end: var(--cui-spacer-5); |
| .pe-6 | padding-inline-end: var(--cui-spacer-6); |
| .pe-7 | padding-inline-end: var(--cui-spacer-7); |
| .pe-8 | padding-inline-end: var(--cui-spacer-8); |
| .pe-9 | padding-inline-end: var(--cui-spacer-9); |
| .pe-10 | padding-inline-end: var(--cui-spacer-10); |
| .pe-11 | padding-inline-end: var(--cui-spacer-11); |
| .pe-12 | padding-inline-end: var(--cui-spacer-12); |
| .px-0 | padding-inline: var(--cui-spacer-0); |
| .px-1 | padding-inline: var(--cui-spacer-1); |
| .px-2 | padding-inline: var(--cui-spacer-2); |
| .px-3 | padding-inline: var(--cui-spacer-3); |
| .px-4 | padding-inline: var(--cui-spacer-4); |
| .px-5 | padding-inline: var(--cui-spacer-5); |
| .px-6 | padding-inline: var(--cui-spacer-6); |
| .px-7 | padding-inline: var(--cui-spacer-7); |
| .px-8 | padding-inline: var(--cui-spacer-8); |
| .px-9 | padding-inline: var(--cui-spacer-9); |
| .px-10 | padding-inline: var(--cui-spacer-10); |
| .px-11 | padding-inline: var(--cui-spacer-11); |
| .px-12 | padding-inline: var(--cui-spacer-12); |
| .py-0 | padding-block: var(--cui-spacer-0); |
| .py-1 | padding-block: var(--cui-spacer-1); |
| .py-2 | padding-block: var(--cui-spacer-2); |
| .py-3 | padding-block: var(--cui-spacer-3); |
| .py-4 | padding-block: var(--cui-spacer-4); |
| .py-5 | padding-block: var(--cui-spacer-5); |
| .py-6 | padding-block: var(--cui-spacer-6); |
| .py-7 | padding-block: var(--cui-spacer-7); |
| .py-8 | padding-block: var(--cui-spacer-8); |
| .py-9 | padding-block: var(--cui-spacer-9); |
| .py-10 | padding-block: var(--cui-spacer-10); |
| .py-11 | padding-block: var(--cui-spacer-11); |
| .py-12 | padding-block: var(--cui-spacer-12); |
Overview
Assign responsive-friendly 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 8rem.
Unlike margin, padding takes no negative values and no auto, so there is no .p-n1 and no .px-auto.
Notation
Padding utilities that apply to all breakpoints, from xs to 2xl, 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 p{sides}-{size} for xs and p{sides}-{breakpoint}-{size} for sm, md, lg, xl, and 2xl.
Where sides is one of:
t- for classes that setpadding-topb- for classes that setpadding-bottoms- (start) for classes that setpadding-leftin LTR,padding-rightin RTLe- (end) for classes that setpadding-rightin LTR,padding-leftin RTLx- for classes that set bothpadding-leftandpadding-righty- for classes that set bothpadding-topandpadding-bottom- blank - for classes that set a
paddingon all 4 sides of the element
Where size is one of:
0- for classes that eliminate thepaddingby setting it to01- (by default) for classes that set thepaddingto$spacer * .252- (by default) for classes that set thepaddingto$spacer * .3753- (by default) for classes that set thepaddingto$spacer * .54- (by default) for classes that set thepaddingto$spacer * .755- (by default) for classes that set thepaddingto$spacer6- (by default) for classes that set thepaddingto$spacer * 1.257- (by default) for classes that set thepaddingto$spacer * 1.58- (by default) for classes that set thepaddingto$spacer * 1.759- (by default) for classes that set thepaddingto$spacer * 210- (by default) for classes that set thepaddingto$spacer * 2.2511- (by default) for classes that set thepaddingto$spacer * 2.512- (by default) for classes that set thepaddingto$spacer * 3
(You can add more sizes by adding entries to the $spacers Sass map variable.)
Examples
Here are some representative examples of these classes:
.pt-0 {
padding-top: 0;
}
.px-3 {
padding-left: ($spacer * .5);
padding-right: ($spacer * .5);
}
.p-5 {
padding: $spacer;
}Customizing
Sass variables
Padding utilities are generated from the $spacers map.
$spacer: 1rem !default;$spacers: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$spacers: defaults(
(
0: 0,
1: calc(var(--cui-spacer) * .25),
2: calc(var(--cui-spacer) * .375),
3: calc(var(--cui-spacer) * .5),
4: calc(var(--cui-spacer) * .75),
5: var(--cui-spacer),
6: calc(var(--cui-spacer) * 1.25),
7: calc(var(--cui-spacer) * 1.5),
8: calc(var(--cui-spacer) * 1.75),
9: calc(var(--cui-spacer) * 2),
10: calc(var(--cui-spacer) * 2.25),
11: calc(var(--cui-spacer) * 2.5),
12: calc(var(--cui-spacer) * 3),
),
$spacers
);Padding utilities are declared in our utilities API in scss/_utilities.scss. Learn how to use the utilities API.
"padding": (
responsive: true,
property: padding,
class: p,
values: $utilities-spacers
),
"padding-x": (
responsive: true,
property: padding-inline,
class: px,
values: $utilities-spacers
),
"padding-y": (
responsive: true,
property: padding-block,
class: py,
values: $utilities-spacers
),
"padding-top": (
responsive: true,
property: padding-top,
class: pt,
values: $utilities-spacers
),
"padding-end": (
responsive: true,
property: padding-inline-end,
class: pe,
values: $utilities-spacers
),
"padding-bottom": (
responsive: true,
property: padding-bottom,
class: pb,
values: $utilities-spacers
),
"padding-start": (
responsive: true,
property: padding-inline-start,
class: ps,
values: $utilities-spacers
),
// Gap utility