#Padding

Updated
0.7.2

These are utility classes used to add padding for any element.

#Sizes

These are the different sizes supported for padding. Note that all calculations are based around 0.5rem or 8px. You can also modify it to use a different base size other than 0.5rem within _config.scss -- see Variants below.

ClassStyles
p-px
padding: 1px !important;
p-0
padding: 0rem !important;
p-1
padding: 0.5rem !important;
p-2
padding: 1rem !important;
p-3
padding: 1.5rem !important;
p-4
padding: 2rem !important;
p-5
padding: 2.5rem !important;
p-6
padding: 3rem !important;
p-8
padding: 4rem !important;
p-10
padding: 5rem !important;
p-12
padding: 6rem !important;
p-16
padding: 8rem !important;
p-20
padding: 10rem !important;
p-24
padding: 12rem !important;
p-32
padding: 16rem !important;
p-48
padding: 24rem !important;
p-64
padding: 32rem !important;
px-px
padding-left: 1px !important; 
padding-right: 1px !important;
px-0
padding-left: 0rem !important; 
padding-right: 0rem !important;
px-1
padding-left: 0.5rem !important; 
padding-right: 0.5rem !important;
px-2
padding-left: 1rem !important; 
padding-right: 1rem !important;
px-3
padding-left: 1.5rem !important; 
padding-right: 1.5rem !important;
px-4
padding-left: 2rem !important; 
padding-right: 2rem !important;
px-5
padding-left: 2.5rem !important; 
padding-right: 2.5rem !important;
px-6
padding-left: 3rem !important; 
padding-right: 3rem !important;
px-8
padding-left: 4rem !important; 
padding-right: 4rem !important;
px-10
padding-left: 5rem !important; 
padding-right: 5rem !important;
px-12
padding-left: 6rem !important; 
padding-right: 6rem !important;
px-16
padding-left: 8rem !important; 
padding-right: 8rem !important;
px-20
padding-left: 10rem !important; 
padding-right: 10rem !important;
px-24
padding-left: 12rem !important; 
padding-right: 12rem !important;
px-32
padding-left: 16rem !important; 
padding-right: 16rem !important;
px-48
padding-left: 24rem !important; 
padding-right: 24rem !important;
px-64
padding-left: 32rem !important; 
padding-right: 32rem !important;
py-px
padding-top: 1px !important; 
padding-bottom: 1px !important;
py-0
padding-top: 0rem !important; 
padding-bottom: 0rem !important;
py-1
padding-top: 0.5rem !important; 
padding-bottom: 0.5rem !important;
py-2
padding-top: 1rem !important; 
padding-bottom: 1rem !important;
py-3
padding-top: 1.5rem !important; 
padding-bottom: 1.5rem !important;
py-4
padding-top: 2rem !important; 
padding-bottom: 2rem !important;
py-5
padding-top: 2.5rem !important; 
padding-bottom: 2.5rem !important;
py-6
padding-top: 3rem !important; 
padding-bottom: 3rem !important;
py-8
padding-top: 4rem !important; 
padding-bottom: 4rem !important;
py-10
padding-top: 5rem !important; 
padding-bottom: 5rem !important;
py-12
padding-top: 6rem !important; 
padding-bottom: 6rem !important;
py-16
padding-top: 8rem !important; 
padding-bottom: 8rem !important;
py-20
padding-top: 10rem !important; 
padding-bottom: 10rem !important;
py-24
padding-top: 12rem !important; 
padding-bottom: 12rem !important;
py-32
padding-top: 16rem !important; 
padding-bottom: 16rem !important;
py-48
padding-top: 24rem !important; 
padding-bottom: 24rem !important;
py-64
padding-top: 32rem !important; 
padding-bottom: 32rem !important;
pt-px
padding-top: 1px !important;
pt-0
padding-top: 0rem !important;
pt-1
padding-top: 0.5rem !important;
pt-2
padding-top: 1rem !important;
pt-3
padding-top: 1.5rem !important;
pt-4
padding-top: 2rem !important;
pt-5
padding-top: 2.5rem !important;
pt-6
padding-top: 3rem !important;
pt-8
padding-top: 4rem !important;
pt-10
padding-top: 5rem !important;
pt-12
padding-top: 6rem !important;
pt-16
padding-top: 8rem !important;
pt-20
padding-top: 10rem !important;
pt-24
padding-top: 12rem !important;
pt-32
padding-top: 16rem !important;
pt-48
padding-top: 24rem !important;
pt-64
padding-top: 32rem !important;
pb-px
padding-bottom: 1px !important;
pb-0
padding-bottom: 0rem !important;
pb-1
padding-bottom: 0.5rem !important;
pb-2
padding-bottom: 1rem !important;
pb-3
padding-bottom: 1.5rem !important;
pb-4
padding-bottom: 2rem !important;
pb-5
padding-bottom: 2.5rem !important;
pb-6
padding-bottom: 3rem !important;
pb-8
padding-bottom: 4rem !important;
pb-10
padding-bottom: 5rem !important;
pb-12
padding-bottom: 6rem !important;
pb-16
padding-bottom: 8rem !important;
pb-20
padding-bottom: 10rem !important;
pb-24
padding-bottom: 12rem !important;
pb-32
padding-bottom: 16rem !important;
pb-48
padding-bottom: 24rem !important;
pb-64
padding-bottom: 32rem !important;
pl-px
padding-left: 1px !important;
pl-0
padding-left: 0rem !important;
pl-1
padding-left: 0.5rem !important;
pl-2
padding-left: 1rem !important;
pl-3
padding-left: 1.5rem !important;
pl-4
padding-left: 2rem !important;
pl-5
padding-left: 2.5rem !important;
pl-6
padding-left: 3rem !important;
pl-8
padding-left: 4rem !important;
pl-10
padding-left: 5rem !important;
pl-12
padding-left: 6rem !important;
pl-16
padding-left: 8rem !important;
pl-20
padding-left: 10rem !important;
pl-24
padding-left: 12rem !important;
pl-32
padding-left: 16rem !important;
pl-48
padding-left: 24rem !important;
pl-64
padding-left: 32rem !important;
pr-px
padding-right: 1px !important;
pr-0
padding-right: 0rem !important;
pr-1
padding-right: 0.5rem !important;
pr-2
padding-right: 1rem !important;
pr-3
padding-right: 1.5rem !important;
pr-4
padding-right: 2rem !important;
pr-5
padding-right: 2.5rem !important;
pr-6
padding-right: 3rem !important;
pr-8
padding-right: 4rem !important;
pr-10
padding-right: 5rem !important;
pr-12
padding-right: 6rem !important;
pr-16
padding-right: 8rem !important;
pr-20
padding-right: 10rem !important;
pr-24
padding-right: 12rem !important;
pr-32
padding-right: 16rem !important;
pr-48
padding-right: 24rem !important;
pr-64
padding-right: 32rem !important;
Supported Pseudo-Variants
New
0.8.0
active
checked
dark
disabled
first-of-type
focus
focus-visible
focus-within
group-focus
group-hover
hover
landscape
last-of-type
light
portrait
reduce-motion
responsive
visited

See more pseudo-variants.

#All Sides

Add padding on all sides of an element using the p-<size> class.

p-4
<div class="bg-indigo-100 u-round-xs text-white u-inline-flex p-4"><span class="bg-indigo-500 u-round-xs u-shadow-lg p-1">p-4</span></div>

#Both Sides

Add padding to either left and right or top and bottom with the px-<size> and py-<size> classes respectively.

px-4
py-4
<div class="bg-indigo-100 u-round-xs text-white u-inline-flex px-4"><span class="bg-indigo-500 u-round-xs u-shadow-lg p-1">px-4</span></div>
<div class="bg-indigo-100 u-round-xs text-white u-inline-flex py-4"><span class="bg-indigo-500 u-round-xs u-shadow-lg p-1">py-4</span></div>

#Single Side

For adding padding for only a single side, the class follows a convention like p<l|r|t|b>-<size>.

pl-4
pr-4
pt-4
pb-4
<div class="bg-indigo-100 u-round-xs text-white u-inline-flex pl-4"><span class="bg-indigo-500 u-round-xs u-shadow-lg p-1">pl-4</span></div>
<div class="bg-indigo-100 u-round-xs text-white u-inline-flex pr-4"><span class="bg-indigo-500 u-round-xs u-shadow-lg p-1">pr-4</span></div>
<div class="bg-indigo-100 u-round-xs text-white u-inline-flex pt-4"><span class="bg-indigo-500 u-round-xs u-shadow-lg p-1">pt-4</span></div>
<div class="bg-indigo-100 u-round-xs text-white u-inline-flex pb-4"><span class="bg-indigo-500 u-round-xs u-shadow-lg p-1">pb-4</span></div>

#Responsive

New
0.6.3

The margin classes mentioned here support viewport based application. All you need to do is add a <viewport>:<class> at the end of the class(es) you are using. For example, use md:p-3 to apply p-3 on medium screens and above.

<div class="px-1 sm:px-10 md:px-20">
    <!-- ... -->
</div>

Try out the example below yourself by resizing your browser window.

I grow with the window.

<div class="bg-purple-100 p-2 u-round-xs u-flex u-justify-center u-items-center text-white">
    <p class="bg-purple-300 u-round-xs p-3 sm:px-10 md:px-20 u-shadow-lg m-0">I grow with the window.</p>
</div>

For more information, visit the Viewports documentation.

#Variants

New
0.7.0

The classes specified above are the default utility classes for setting paddings. You can add, change, or remove classes within the _config.scss file of Cirrus. The generated values are dependent on the values set for the base-size and steps fields in the config.

Below is an example of what gets generated when the base-size is set to 1rem and we add 64 to the list of steps.

Recall that these configs are merged with the $default-config map.

// _config.scss
$config: (
    extend: (
        sizing-system: (
            base-size: 1rem,
            steps: (64)
        )
    )
) !default;

This would generate the following classes.

:root {
    --space-size: 1rem;
}
.p-0 {
    padding: calc(var(--space-size) * 0) !important;
}
/* ... */
.p-64 {
    padding: calc(var(--space-size) * 64) !important;
}
/* Other viewport variants for padding... */

Learn more about how to extend Cirrus to support your use cases in the Configuration documentation.