Kombai Logo

Tailwind CSS Padding

Padding in CSS is the spacing between the content of an element and its border, essentially "inward spacing." Tailwind CSS simplifies padding management with a comprehensive set of utilities, making it incredibly efficient to add or adjust spacing directly within your classes.

With Tailwind, you can apply padding to specific sides, proportions for all sides, or logical properties like inline-p or block-p, catering to both LTR and RTL layouts. This powerful system of utilities accelerates development while maintaining consistency throughout your design.

ClassPropertiesExample
p-0padding: 0px;<div className="p-0"></div>
px-0padding-left: 0px; padding-right: 0px;<div className="px-0"></div>
py-0padding-top: 0px; padding-bottom: 0px;<div className="py-0"></div>
ps-0padding-inline-start: 0px;<div className="ps-0"></div>
pe-0padding-inline-end: 0px;<div className="pe-0"></div>
pt-0padding-top: 0px;<div className="pt-0"></div>
pr-0padding-right: 0px;<div className="pr-0"></div>
pb-0padding-bottom: 0px;<div className="pb-0"></div>
pl-0padding-left: 0px;<div className="pl-0"></div>
p-pxpadding: 1px;<div className="p-px"></div>
px-pxpadding-left: 1px; padding-right: 1px;<div className="px-px"></div>
py-pxpadding-top: 1px; padding-bottom: 1px;<div className="py-px"></div>
ps-pxpadding-inline-start: 1px;<div className="ps-px"></div>
pe-pxpadding-inline-end: 1px;<div className="pe-px"></div>
pt-pxpadding-top: 1px;<div className="pt-px"></div>
pr-pxpadding-right: 1px;<div className="pr-px"></div>
pb-pxpadding-bottom: 1px;<div className="pb-px"></div>
pl-pxpadding-left: 1px;<div className="pl-px"></div>
p-0.5padding: 0.125rem; <div className="p-0.5"></div>
px-0.5padding-left: 0.125rem; padding-right: 0.125rem; <div className="px-0.5"></div>
py-0.5padding-top: 0.125rem; padding-bottom: 0.125rem; <div className="py-0.5"></div>
ps-0.5padding-inline-start: 0.125rem; <div className="ps-0.5"></div>
pe-0.5padding-inline-end: 0.125rem; <div className="pe-0.5"></div>
pt-0.5padding-top: 0.125rem; <div className="pt-0.5"></div>
pr-0.5padding-right: 0.125rem; <div className="pr-0.5"></div>
pb-0.5padding-bottom: 0.125rem; <div className="pb-0.5"></div>
pl-0.5padding-left: 0.125rem; <div className="pl-0.5"></div>
p-1padding: 0.25rem; <div className="p-1"></div>
px-1padding-left: 0.25rem; padding-right: 0.25rem; <div className="px-1"></div>
py-1padding-top: 0.25rem; padding-bottom: 0.25rem; <div className="py-1"></div>
ps-1padding-inline-start: 0.25rem; <div className="ps-1"></div>
pe-1padding-inline-end: 0.25rem; <div className="pe-1"></div>
pt-1padding-top: 0.25rem; <div className="pt-1"></div>
pr-1padding-right: 0.25rem; <div className="pr-1"></div>
pb-1padding-bottom: 0.25rem; <div className="pb-1"></div>
pl-1padding-left: 0.25rem; <div className="pl-1"></div>
p-1.5padding: 0.375rem; <div className="p-1.5"></div>
px-1.5padding-left: 0.375rem; padding-right: 0.375rem; <div className="px-1.5"></div>
py-1.5padding-top: 0.375rem; padding-bottom: 0.375rem; <div className="py-1.5"></div>
ps-1.5padding-inline-start: 0.375rem; <div className="ps-1.5"></div>
pe-1.5padding-inline-end: 0.375rem; <div className="pe-1.5"></div>
pt-1.5padding-top: 0.375rem; <div className="pt-1.5"></div>
pr-1.5padding-right: 0.375rem; <div className="pr-1.5"></div>
pb-1.5padding-bottom: 0.375rem; <div className="pb-1.5"></div>
pl-1.5padding-left: 0.375rem; <div className="pl-1.5"></div>
p-2padding: 0.5rem; <div className="p-2"></div>
px-2padding-left: 0.5rem; padding-right: 0.5rem; <div className="px-2"></div>
py-2padding-top: 0.5rem; padding-bottom: 0.5rem; <div className="py-2"></div>
ps-2padding-inline-start: 0.5rem; <div className="ps-2"></div>
pe-2padding-inline-end: 0.5rem; <div className="pe-2"></div>
pt-2padding-top: 0.5rem; <div className="pt-2"></div>
pr-2padding-right: 0.5rem; <div className="pr-2"></div>
pb-2padding-bottom: 0.5rem; <div className="pb-2"></div>
pl-2padding-left: 0.5rem; <div className="pl-2"></div>
p-2.5padding: 0.625rem; <div className="p-2.5"></div>
px-2.5padding-left: 0.625rem; padding-right: 0.625rem; <div className="px-2.5"></div>
py-2.5padding-top: 0.625rem; padding-bottom: 0.625rem; <div className="py-2.5"></div>
ps-2.5padding-inline-start: 0.625rem; <div className="ps-2.5"></div>
pe-2.5padding-inline-end: 0.625rem; <div className="pe-2.5"></div>
pt-2.5padding-top: 0.625rem; <div className="pt-2.5"></div>
pr-2.5padding-right: 0.625rem; <div className="pr-2.5"></div>
pb-2.5padding-bottom: 0.625rem; <div className="pb-2.5"></div>
pl-2.5padding-left: 0.625rem; <div className="pl-2.5"></div>
p-3padding: 0.75rem; <div className="p-3"></div>
px-3padding-left: 0.75rem; padding-right: 0.75rem; <div className="px-3"></div>
py-3padding-top: 0.75rem; padding-bottom: 0.75rem; <div className="py-3"></div>
ps-3padding-inline-start: 0.75rem; <div className="ps-3"></div>
pe-3padding-inline-end: 0.75rem; <div className="pe-3"></div>
pt-3padding-top: 0.75rem; <div className="pt-3"></div>
pr-3padding-right: 0.75rem; <div className="pr-3"></div>
pb-3padding-bottom: 0.75rem; <div className="pb-3"></div>
pl-3padding-left: 0.75rem; <div className="pl-3"></div>
p-3.5padding: 0.875rem; <div className="p-3.5"></div>
px-3.5padding-left: 0.875rem; padding-right: 0.875rem; <div className="px-3.5"></div>
py-3.5padding-top: 0.875rem; padding-bottom: 0.875rem; <div className="py-3.5"></div>
ps-3.5padding-inline-start: 0.875rem; <div className="ps-3.5"></div>
pe-3.5padding-inline-end: 0.875rem; <div className="pe-3.5"></div>
pt-3.5padding-top: 0.875rem; <div className="pt-3.5"></div>
pr-3.5padding-right: 0.875rem; <div className="pr-3.5"></div>
pb-3.5padding-bottom: 0.875rem; <div className="pb-3.5"></div>
pl-3.5padding-left: 0.875rem; <div className="pl-3.5"></div>
p-4padding: 1rem; <div className="p-4"></div>
px-4padding-left: 1rem; padding-right: 1rem; <div className="px-4"></div>
py-4padding-top: 1rem; padding-bottom: 1rem; <div className="py-4"></div>
ps-4padding-inline-start: 1rem; <div className="ps-4"></div>
pe-4padding-inline-end: 1rem; <div className="pe-4"></div>
pt-4padding-top: 1rem; <div className="pt-4"></div>
pr-4padding-right: 1rem; <div className="pr-4"></div>
pb-4padding-bottom: 1rem; <div className="pb-4"></div>
pl-4padding-left: 1rem; <div className="pl-4"></div>
p-5padding: 1.25rem; <div className="p-5"></div>
px-5padding-left: 1.25rem; padding-right: 1.25rem; <div className="px-5"></div>
py-5padding-top: 1.25rem; padding-bottom: 1.25rem; <div className="py-5"></div>
ps-5padding-inline-start: 1.25rem; <div className="ps-5"></div>
pe-5padding-inline-end: 1.25rem; <div className="pe-5"></div>
pt-5padding-top: 1.25rem; <div className="pt-5"></div>
pr-5padding-right: 1.25rem; <div className="pr-5"></div>
pb-5padding-bottom: 1.25rem; <div className="pb-5"></div>
pl-5padding-left: 1.25rem; <div className="pl-5"></div>
p-6padding: 1.5rem; <div className="p-6"></div>
px-6padding-left: 1.5rem; padding-right: 1.5rem; <div className="px-6"></div>
py-6padding-top: 1.5rem; padding-bottom: 1.5rem; <div className="py-6"></div>
ps-6padding-inline-start: 1.5rem; <div className="ps-6"></div>
pe-6padding-inline-end: 1.5rem; <div className="pe-6"></div>
pt-6padding-top: 1.5rem; <div className="pt-6"></div>
pr-6padding-right: 1.5rem; <div className="pr-6"></div>
pb-6padding-bottom: 1.5rem; <div className="pb-6"></div>
pl-6padding-left: 1.5rem; <div className="pl-6"></div>
p-7padding: 1.75rem; <div className="p-7"></div>
px-7padding-left: 1.75rem; padding-right: 1.75rem; <div className="px-7"></div>
py-7padding-top: 1.75rem; padding-bottom: 1.75rem; <div className="py-7"></div>
ps-7padding-inline-start: 1.75rem; <div className="ps-7"></div>
pe-7padding-inline-end: 1.75rem; <div className="pe-7"></div>
pt-7padding-top: 1.75rem; <div className="pt-7"></div>
pr-7padding-right: 1.75rem; <div className="pr-7"></div>
pb-7padding-bottom: 1.75rem; <div className="pb-7"></div>
pl-7padding-left: 1.75rem; <div className="pl-7"></div>
p-8padding: 2rem; <div className="p-8"></div>
px-8padding-left: 2rem; padding-right: 2rem; <div className="px-8"></div>
py-8padding-top: 2rem; padding-bottom: 2rem; <div className="py-8"></div>
ps-8padding-inline-start: 2rem; <div className="ps-8"></div>
pe-8padding-inline-end: 2rem; <div className="pe-8"></div>
pt-8padding-top: 2rem; <div className="pt-8"></div>
pr-8padding-right: 2rem; <div className="pr-8"></div>
pb-8padding-bottom: 2rem; <div className="pb-8"></div>
pl-8padding-left: 2rem; <div className="pl-8"></div>
p-9padding: 2.25rem; <div className="p-9"></div>
px-9padding-left: 2.25rem; padding-right: 2.25rem; <div className="px-9"></div>
py-9padding-top: 2.25rem; padding-bottom: 2.25rem; <div className="py-9"></div>
ps-9padding-inline-start: 2.25rem; <div className="ps-9"></div>
pe-9padding-inline-end: 2.25rem; <div className="pe-9"></div>
pt-9padding-top: 2.25rem; <div className="pt-9"></div>
pr-9padding-right: 2.25rem; <div className="pr-9"></div>
pb-9padding-bottom: 2.25rem; <div className="pb-9"></div>
pl-9padding-left: 2.25rem; <div className="pl-9"></div>
p-10padding: 2.5rem; <div className="p-10"></div>
px-10padding-left: 2.5rem; padding-right: 2.5rem; <div className="px-10"></div>
py-10padding-top: 2.5rem; padding-bottom: 2.5rem; <div className="py-10"></div>
ps-10padding-inline-start: 2.5rem; <div className="ps-10"></div>
pe-10padding-inline-end: 2.5rem; <div className="pe-10"></div>
pt-10padding-top: 2.5rem; <div className="pt-10"></div>
pr-10padding-right: 2.5rem; <div className="pr-10"></div>
pb-10padding-bottom: 2.5rem; <div className="pb-10"></div>
pl-10padding-left: 2.5rem; <div className="pl-10"></div>
p-11padding: 2.75rem; <div className="p-11"></div>
px-11padding-left: 2.75rem; padding-right: 2.75rem; <div className="px-11"></div>
py-11padding-top: 2.75rem; padding-bottom: 2.75rem; <div className="py-11"></div>
ps-11padding-inline-start: 2.75rem; <div className="ps-11"></div>
pe-11padding-inline-end: 2.75rem; <div className="pe-11"></div>
pt-11padding-top: 2.75rem; <div className="pt-11"></div>
pr-11padding-right: 2.75rem; <div className="pr-11"></div>
pb-11padding-bottom: 2.75rem; <div className="pb-11"></div>
pl-11padding-left: 2.75rem; <div className="pl-11"></div>
p-12padding: 3rem; <div className="p-12"></div>
px-12padding-left: 3rem; padding-right: 3rem; <div className="px-12"></div>
py-12padding-top: 3rem; padding-bottom: 3rem; <div className="py-12"></div>
ps-12padding-inline-start: 3rem; <div className="ps-12"></div>
pe-12padding-inline-end: 3rem; <div className="pe-12"></div>
pt-12padding-top: 3rem; <div className="pt-12"></div>
pr-12padding-right: 3rem; <div className="pr-12"></div>
pb-12padding-bottom: 3rem; <div className="pb-12"></div>
pl-12padding-left: 3rem; <div className="pl-12"></div>
p-14padding: 3.5rem; <div className="p-14"></div>
px-14padding-left: 3.5rem; padding-right: 3.5rem; <div className="px-14"></div>
py-14padding-top: 3.5rem; padding-bottom: 3.5rem; <div className="py-14"></div>
ps-14padding-inline-start: 3.5rem; <div className="ps-14"></div>
pe-14padding-inline-end: 3.5rem; <div className="pe-14"></div>
pt-14padding-top: 3.5rem; <div className="pt-14"></div>
pr-14padding-right: 3.5rem; <div className="pr-14"></div>
pb-14padding-bottom: 3.5rem; <div className="pb-14"></div>
pl-14padding-left: 3.5rem; <div className="pl-14"></div>
p-16padding: 4rem; <div className="p-16"></div>
px-16padding-left: 4rem; padding-right: 4rem; <div className="px-16"></div>
py-16padding-top: 4rem; padding-bottom: 4rem; <div className="py-16"></div>
ps-16padding-inline-start: 4rem; <div className="ps-16"></div>
pe-16padding-inline-end: 4rem; <div className="pe-16"></div>
pt-16padding-top: 4rem; <div className="pt-16"></div>
pr-16padding-right: 4rem; <div className="pr-16"></div>
pb-16padding-bottom: 4rem; <div className="pb-16"></div>
pl-16padding-left: 4rem; <div className="pl-16"></div>
p-20padding: 5rem; <div className="p-20"></div>
px-20padding-left: 5rem; padding-right: 5rem; <div className="px-20"></div>
py-20padding-top: 5rem; padding-bottom: 5rem; <div className="py-20"></div>
ps-20padding-inline-start: 5rem; <div className="ps-20"></div>
pe-20padding-inline-end: 5rem; <div className="pe-20"></div>
pt-20padding-top: 5rem; <div className="pt-20"></div>
pr-20padding-right: 5rem; <div className="pr-20"></div>
pb-20padding-bottom: 5rem; <div className="pb-20"></div>
pl-20padding-left: 5rem; <div className="pl-20"></div>
p-24padding: 6rem; <div className="p-24"></div>
px-24padding-left: 6rem; padding-right: 6rem; <div className="px-24"></div>
py-24padding-top: 6rem; padding-bottom: 6rem; <div className="py-24"></div>
ps-24padding-inline-start: 6rem; <div className="ps-24"></div>
pe-24padding-inline-end: 6rem; <div className="pe-24"></div>
pt-24padding-top: 6rem; <div className="pt-24"></div>
pr-24padding-right: 6rem; <div className="pr-24"></div>
pb-24padding-bottom: 6rem; <div className="pb-24"></div>
pl-24padding-left: 6rem; <div className="pl-24"></div>
p-28padding: 7rem; <div className="p-28"></div>
px-28padding-left: 7rem; padding-right: 7rem; <div className="px-28"></div>
py-28padding-top: 7rem; padding-bottom: 7rem; <div className="py-28"></div>
ps-28padding-inline-start: 7rem; <div className="ps-28"></div>
pe-28padding-inline-end: 7rem; <div className="pe-28"></div>
pt-28padding-top: 7rem; <div className="pt-28"></div>
pr-28padding-right: 7rem; <div className="pr-28"></div>
pb-28padding-bottom: 7rem; <div className="pb-28"></div>
pl-28padding-left: 7rem; <div className="pl-28"></div>
p-32padding: 8rem; <div className="p-32"></div>
px-32padding-left: 8rem; padding-right: 8rem; <div className="px-32"></div>
py-32padding-top: 8rem; padding-bottom: 8rem; <div className="py-32"></div>
ps-32padding-inline-start: 8rem; <div className="ps-32"></div>
pe-32padding-inline-end: 8rem; <div className="pe-32"></div>
pt-32padding-top: 8rem; <div className="pt-32"></div>
pr-32padding-right: 8rem; <div className="pr-32"></div>
pb-32padding-bottom: 8rem; <div className="pb-32"></div>
pl-32padding-left: 8rem; <div className="pl-32"></div>
p-36padding: 9rem; <div className="p-36"></div>
px-36padding-left: 9rem; padding-right: 9rem; <div className="px-36"></div>
py-36padding-top: 9rem; padding-bottom: 9rem; <div className="py-36"></div>
ps-36padding-inline-start: 9rem; <div className="ps-36"></div>
pe-36padding-inline-end: 9rem; <div className="pe-36"></div>
pt-36padding-top: 9rem; <div className="pt-36"></div>
pr-36padding-right: 9rem; <div className="pr-36"></div>
pb-36padding-bottom: 9rem; <div className="pb-36"></div>
pl-36padding-left: 9rem; <div className="pl-36"></div>
p-40padding: 10rem; <div className="p-40"></div>
px-40padding-left: 10rem; padding-right: 10rem; <div className="px-40"></div>
py-40padding-top: 10rem; padding-bottom: 10rem; <div className="py-40"></div>
ps-40padding-inline-start: 10rem; <div className="ps-40"></div>
pe-40padding-inline-end: 10rem; <div className="pe-40"></div>
pt-40padding-top: 10rem; <div className="pt-40"></div>
pr-40padding-right: 10rem; <div className="pr-40"></div>
pb-40padding-bottom: 10rem; <div className="pb-40"></div>
pl-40padding-left: 10rem; <div className="pl-40"></div>
p-44padding: 11rem; <div className="p-44"></div>
px-44padding-left: 11rem; padding-right: 11rem; <div className="px-44"></div>
py-44padding-top: 11rem; padding-bottom: 11rem; <div className="py-44"></div>
ps-44padding-inline-start: 11rem; <div className="ps-44"></div>
pe-44padding-inline-end: 11rem; <div className="pe-44"></div>
pt-44padding-top: 11rem; <div className="pt-44"></div>
pr-44padding-right: 11rem; <div className="pr-44"></div>
pb-44padding-bottom: 11rem; <div className="pb-44"></div>
pl-44padding-left: 11rem; <div className="pl-44"></div>
p-48padding: 12rem; <div className="p-48"></div>
px-48padding-left: 12rem; padding-right: 12rem; <div className="px-48"></div>
py-48padding-top: 12rem; padding-bottom: 12rem; <div className="py-48"></div>
ps-48padding-inline-start: 12rem; <div className="ps-48"></div>
pe-48padding-inline-end: 12rem; <div className="pe-48"></div>
pt-48padding-top: 12rem; <div className="pt-48"></div>
pr-48padding-right: 12rem; <div className="pr-48"></div>
pb-48padding-bottom: 12rem; <div className="pb-48"></div>
pl-48padding-left: 12rem; <div className="pl-48"></div>
p-52padding: 13rem; <div className="p-52"></div>
px-52padding-left: 13rem; padding-right: 13rem; <div className="px-52"></div>
py-52padding-top: 13rem; padding-bottom: 13rem; <div className="py-52"></div>
ps-52padding-inline-start: 13rem; <div className="ps-52"></div>
pe-52padding-inline-end: 13rem; <div className="pe-52"></div>
pt-52padding-top: 13rem; <div className="pt-52"></div>
pr-52padding-right: 13rem; <div className="pr-52"></div>
pb-52padding-bottom: 13rem; <div className="pb-52"></div>
pl-52padding-left: 13rem; <div className="pl-52"></div>
p-56padding: 14rem; <div className="p-56"></div>
px-56padding-left: 14rem; padding-right: 14rem; <div className="px-56"></div>
py-56padding-top: 14rem; padding-bottom: 14rem; <div className="py-56"></div>
ps-56padding-inline-start: 14rem; <div className="ps-56"></div>
pe-56padding-inline-end: 14rem; <div className="pe-56"></div>
pt-56padding-top: 14rem; <div className="pt-56"></div>
pr-56padding-right: 14rem; <div className="pr-56"></div>
pb-56padding-bottom: 14rem; <div className="pb-56"></div>
pl-56padding-left: 14rem; <div className="pl-56"></div>
p-60padding: 15rem; <div className="p-60"></div>
px-60padding-left: 15rem; padding-right: 15rem; <div className="px-60"></div>
py-60padding-top: 15rem; padding-bottom: 15rem; <div className="py-60"></div>
ps-60padding-inline-start: 15rem; <div className="ps-60"></div>
pe-60padding-inline-end: 15rem; <div className="pe-60"></div>
pt-60padding-top: 15rem; <div className="pt-60"></div>
pr-60padding-right: 15rem; <div className="pr-60"></div>
pb-60padding-bottom: 15rem; <div className="pb-60"></div>
pl-60padding-left: 15rem; <div className="pl-60"></div>
p-64padding: 16rem; <div className="p-64"></div>
px-64padding-left: 16rem; padding-right: 16rem; <div className="px-64"></div>
py-64padding-top: 16rem; padding-bottom: 16rem; <div className="py-64"></div>
ps-64padding-inline-start: 16rem; <div className="ps-64"></div>
pe-64padding-inline-end: 16rem; <div className="pe-64"></div>
pt-64padding-top: 16rem; <div className="pt-64"></div>
pr-64padding-right: 16rem; <div className="pr-64"></div>
pb-64padding-bottom: 16rem; <div className="pb-64"></div>
pl-64padding-left: 16rem; <div className="pl-64"></div>
p-72padding: 18rem; <div className="p-72"></div>
px-72padding-left: 18rem; padding-right: 18rem; <div className="px-72"></div>
py-72padding-top: 18rem; padding-bottom: 18rem; <div className="py-72"></div>
ps-72padding-inline-start: 18rem; <div className="ps-72"></div>
pe-72padding-inline-end: 18rem; <div className="pe-72"></div>
pt-72padding-top: 18rem; <div className="pt-72"></div>
pr-72padding-right: 18rem; <div className="pr-72"></div>
pb-72padding-bottom: 18rem; <div className="pb-72"></div>
pl-72padding-left: 18rem; <div className="pl-72"></div>
p-80padding: 20rem; <div className="p-80"></div>
px-80padding-left: 20rem; padding-right: 20rem; <div className="px-80"></div>
py-80padding-top: 20rem; padding-bottom: 20rem; <div className="py-80"></div>
ps-80padding-inline-start: 20rem; <div className="ps-80"></div>
pe-80padding-inline-end: 20rem; <div className="pe-80"></div>
pt-80padding-top: 20rem; <div className="pt-80"></div>
pr-80padding-right: 20rem; <div className="pr-80"></div>
pb-80padding-bottom: 20rem; <div className="pb-80"></div>
pl-80padding-left: 20rem; <div className="pl-80"></div>
p-96padding: 24rem; <div className="p-96"></div>
px-96padding-left: 24rem; padding-right: 24rem; <div className="px-96"></div>
py-96padding-top: 24rem; padding-bottom: 24rem; <div className="py-96"></div>
ps-96padding-inline-start: 24rem; <div className="ps-96"></div>
pe-96padding-inline-end: 24rem; <div className="pe-96"></div>
pt-96padding-top: 24rem; <div className="pt-96"></div>
pr-96padding-right: 24rem; <div className="pr-96"></div>
pb-96padding-bottom: 24rem; <div className="pb-96"></div>
pl-96padding-left: 24rem; <div className="pl-96"></div>

Overview of Padding

We'll begin by covering the fundamental usage of padding in Tailwind CSS. These utilities follow a logical naming scheme and provide immense flexibility when working with different layouts.

Adding Padding to a Single Side

Tailwind allows developers to apply padding to a specific side of an element when fine-tuning layouts and positioning. You can add padding individually to the top, right, bottom, or left side.

The example below demonstrates applying padding only on the left side using Tailwind utilities:

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Adding Horizontal Padding

When you need alignment for text or components along the horizontal axis (left and right sides), you can use horizontal padding utilities. This is particularly helpful when designing flexible and responsive layouts.

Below, horizontal padding is added to ensure a well-spaced structure:

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Adding Vertical Padding

For components where vertical alignment is key, such as stacked sections, vertical padding ensures appropriate spacing along the top and bottom of an element.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Adding Padding to All Sides

For uniform spacing around an element, you can apply padding to all sides with a single utility class.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Using Logical Padding Properties

Tailwind supports logical properties for padding that adapt based on the writing mode or text direction (LTR or RTL). This ensures better internationalization and flexibility for developers.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

States and Responsiveness

Building highly interactive and responsive interfaces requires applying padding based on specific conditions or breakpoints. Tailwind enables this through utilities for hover, focus, and media queries.

Hover and Focus States

To add dynamism to UI components, Tailwind's state utilities (hover, focus, etc.) let you conditionally apply padding when a user interacts with elements.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Breakpoint Modifiers

Responsive design is critical for modern web applications. Tailwind's breakpoint utilities allow you to vary padding properties depending on the screen size seamlessly.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Custom Padding

While Tailwind provides plenty of predefined padding utilities, there are instances when you may need custom padding values. This feature enables greater flexibility.

Extending the Theme

Using Tailwind's configuration file, you can extend the default theme to include custom padding values that reflect the unique design language of a project. Modify your tailwind.config.js file as shown below:

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Using Arbitrary Values

Tailwind also supports arbitrary values, allowing developers to apply non-standard padding directly within utility classes without modifying the configuration.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Real World Examples

Product Card Grid with Dynamic Padding

This example shows a responsive product grid with cards that have different padding based on screen size.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Blog Post Cards with Nested Padding

This example demonstrates nested padding in blog post cards with author information.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Feature Showcase with Asymmetric Padding

This example shows features with different padding on different sides.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Team Member Cards with Responsive Padding

This example shows team member cards with padding that adjusts based on screen size.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Testimonial Cards with Layered Padding

This example demonstrates testimonial cards with multiple layers of padding for different sections.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Customization Examples

Product Card with Custom Padding Scale

Custom padding values for a responsive product card layout with different spacing on various breakpoints.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Blog Post Container with Section-Specific Padding

Custom padding configuration for different blog post sections with responsive spacing.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Dashboard Widget with Nested Padding Structure

Complex padding configuration for a dashboard widget with multiple nested elements.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Best Practices

Maintain Design Consistency

Creating consistent designs involves applying uniform padding values across similar components to ensure a polished and cohesive layout. In Tailwind CSS, leveraging a defined design system with a thoughtful padding scale helps maintain harmony throughout your project.

Start by establishing a baseline padding value (p-4, for instance) and reuse it across shared elements like containers, cards, and buttons. Avoid introducing arbitrary values unless absolutely necessary. Consistently applying utility classes improves readability and simplifies maintenance so developers can easily understand and extend styles.

Leverage Utility Combinations

Combining padding utilities with other layout classes, such as m-* for margin or flexbox utilities like justify-center, can achieve visually complex and functional designs without overwhelming your HTML structure. For instance, you can pair padding with specific background classes to highlight sections or differentiate nested UI components.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Combining p-* with spacing, alignment, and interactive utilities ensures your design remains intuitive and visually appealing without introducing excessive custom CSS.

Accessibility Considerations

Enhance Readability and Navigability

Padding plays a vital role in improving readability by creating balanced whitespace around content. Applying padding strategically ensures that text is neither too cramped nor excessively spread out, fostering an engaging reading experience. Tailwind utilities like p-* simplify maintaining consistent text spacing.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Proper padding practices enhance clarity, ensuring content feels structured and accessible for diverse audiences.

Support Accessible Interactive Elements

Interactive elements benefit immensely from enhanced padding to increase target sizes. Ensure that buttons, links, or forms adhere to minimum touch area guidelines (e.g., 44px x 44px) to comply with accessibility standards like WCAG.

This is a live editor. Play around with it!
export default function App() {
  return <h1>Hello world</h1>
}

Incorporating sufficient padding ensures interactions are more accessible to users across various devices, particularly those using touch screens or assistive technologies.