3.6 KiB
title | path | status | source | bundle |
---|---|---|---|---|
Padding | utilities/padding | Stable | https://github.com/primer/css/tree/master/src/utilities/padding.scss | utilities |
Padding utilities are based on a global spacing scale which helps keep horizontal and vertical spacing consistent. These utilities help us reduce the amount of custom CSS that could share the same properties, and allows to achieve many different page layouts using the same styles.
Shorthand
Since padding utilities have many variations and will be used in many places, we use a shorthand naming convention to help keep class names succinct.
Shorthand | Description |
---|---|
p | padding |
t | top |
r | right |
b | bottom |
l | left |
x | horizontal, left & right |
y | vertical, top & bottom |
0 | 0 |
1 | 4px |
2 | 8px |
3 | 16px |
4 | 24px |
5 | 32px |
6 | 40px |
Note: The blue in the examples below represents the element, and the green represents the padding.
Uniform padding
Use uniform spacing utilities to apply equal padding to all sides of an element. These utilities can be used with a spacing scale from 0-6.
<div class="p-0 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.p-0</div></div>
<div class="p-1 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.p-1</div></div>
<div class="p-2 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.p-2</div></div>
<div class="p-3 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.p-3</div></div>
<div class="p-4 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.p-4</div></div>
<div class="p-5 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.p-5</div></div>
<div class="p-6 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.p-6</div></div>
Directional padding
Use directional utilities to apply padding to an individual side, or the X and Y axis of an element. Directional utilities can change or override default padding, and can be used with a spacing scale of 0-6.
<div class="pt-3 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.pt-3</div></div>
<div class="pr-3 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.pr-3</div></div>
<div class="pb-3 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.pb-3</div></div>
<div class="pl-3 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.pl-3</div></div>
<div class="py-3 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.py-3</div></div>
<div class="px-3 mr-3 bg-yellow d-inline-block"><div class="bg-gray p-1">.px-3</div></div>
Responsive padding
All padding utilities can be adjusted per breakpoint using the following formula:
p-[direction]-[breakpoint]-[spacer]
. Each responsive style is applied to the specified breakpoint and up.
<div class="px-sm-2 px-md-4 bg-yellow d-inline-block">
<div class="bg-gray p-1">.px-sm-2 .px-md-4</div>
</div>
Responsive container padding
.p-responsive
is a padding class that adds padding on the left and right sides of an element. It is intended to be used with container styles.
- On 0 to sm screens, it gives the element padding of
$spacer-3
- On sm to lg screens it gives the element padding of
$spacer-6
- On lg and wider screens, it gives the element padding of
$spacer-3
It's the equvilent of adding the .px-3 .px-sm-6 .px-lg-3
utility classes.
<div class="p-responsive bg-yellow">
<div class="bg-gray p-1">.p-responsive</div>
</div>
Note: Since the example is shown in an
iframe
it won't show the change to$spacer-3
for thelg
breakpoint.