--- title: Padding path: utilities/padding status: Stable source: 'https://github.com/primer/css/tree/main/src/utilities/padding.scss' bundle: utilities --- Padding utilities are based on a global [spacing scale](/support/spacing) 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. ```html live
.p-0
.p-1
.p-2
.p-3
.p-4
.p-5
.p-6
``` ## 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. ```html live
.pt-3
.pr-3
.pb-3
.pl-3
.py-3
.px-3
``` ## Responsive padding All padding utilities can be adjusted per [breakpoint](/support/breakpoints) using the following formula:
`p-[direction]-[breakpoint]-[spacer]`. Each responsive style is applied to the specified breakpoint and up. ```html live
.px-sm-2 .px-md-4
``` ## 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](/objects/grid#containers). - 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. ```html live
.p-responsive
``` > Note: Since the example is shown in an `iframe` it won't show the change to `$spacer-3` for the `lg` breakpoint.