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.
| Class | Properties | Example |
|---|---|---|
p-0 | padding: 0px; | <div className="p-0"></div> |
px-0 | padding-left: 0px;
padding-right: 0px; | <div className="px-0"></div> |
py-0 | padding-top: 0px;
padding-bottom: 0px; | <div className="py-0"></div> |
ps-0 | padding-inline-start: 0px; | <div className="ps-0"></div> |
pe-0 | padding-inline-end: 0px; | <div className="pe-0"></div> |
pt-0 | padding-top: 0px; | <div className="pt-0"></div> |
pr-0 | padding-right: 0px; | <div className="pr-0"></div> |
pb-0 | padding-bottom: 0px; | <div className="pb-0"></div> |
pl-0 | padding-left: 0px; | <div className="pl-0"></div> |
p-px | padding: 1px; | <div className="p-px"></div> |
px-px | padding-left: 1px;
padding-right: 1px; | <div className="px-px"></div> |
py-px | padding-top: 1px;
padding-bottom: 1px; | <div className="py-px"></div> |
ps-px | padding-inline-start: 1px; | <div className="ps-px"></div> |
pe-px | padding-inline-end: 1px; | <div className="pe-px"></div> |
pt-px | padding-top: 1px; | <div className="pt-px"></div> |
pr-px | padding-right: 1px; | <div className="pr-px"></div> |
pb-px | padding-bottom: 1px; | <div className="pb-px"></div> |
pl-px | padding-left: 1px; | <div className="pl-px"></div> |
p-0.5 | padding: 0.125rem; | <div className="p-0.5"></div> |
px-0.5 | padding-left: 0.125rem;
padding-right: 0.125rem; | <div className="px-0.5"></div> |
py-0.5 | padding-top: 0.125rem;
padding-bottom: 0.125rem; | <div className="py-0.5"></div> |
ps-0.5 | padding-inline-start: 0.125rem; | <div className="ps-0.5"></div> |
pe-0.5 | padding-inline-end: 0.125rem; | <div className="pe-0.5"></div> |
pt-0.5 | padding-top: 0.125rem; | <div className="pt-0.5"></div> |
pr-0.5 | padding-right: 0.125rem; | <div className="pr-0.5"></div> |
pb-0.5 | padding-bottom: 0.125rem; | <div className="pb-0.5"></div> |
pl-0.5 | padding-left: 0.125rem; | <div className="pl-0.5"></div> |
p-1 | padding: 0.25rem; | <div className="p-1"></div> |
px-1 | padding-left: 0.25rem;
padding-right: 0.25rem; | <div className="px-1"></div> |
py-1 | padding-top: 0.25rem;
padding-bottom: 0.25rem; | <div className="py-1"></div> |
ps-1 | padding-inline-start: 0.25rem; | <div className="ps-1"></div> |
pe-1 | padding-inline-end: 0.25rem; | <div className="pe-1"></div> |
pt-1 | padding-top: 0.25rem; | <div className="pt-1"></div> |
pr-1 | padding-right: 0.25rem; | <div className="pr-1"></div> |
pb-1 | padding-bottom: 0.25rem; | <div className="pb-1"></div> |
pl-1 | padding-left: 0.25rem; | <div className="pl-1"></div> |
p-1.5 | padding: 0.375rem; | <div className="p-1.5"></div> |
px-1.5 | padding-left: 0.375rem;
padding-right: 0.375rem; | <div className="px-1.5"></div> |
py-1.5 | padding-top: 0.375rem;
padding-bottom: 0.375rem; | <div className="py-1.5"></div> |
ps-1.5 | padding-inline-start: 0.375rem; | <div className="ps-1.5"></div> |
pe-1.5 | padding-inline-end: 0.375rem; | <div className="pe-1.5"></div> |
pt-1.5 | padding-top: 0.375rem; | <div className="pt-1.5"></div> |
pr-1.5 | padding-right: 0.375rem; | <div className="pr-1.5"></div> |
pb-1.5 | padding-bottom: 0.375rem; | <div className="pb-1.5"></div> |
pl-1.5 | padding-left: 0.375rem; | <div className="pl-1.5"></div> |
p-2 | padding: 0.5rem; | <div className="p-2"></div> |
px-2 | padding-left: 0.5rem;
padding-right: 0.5rem; | <div className="px-2"></div> |
py-2 | padding-top: 0.5rem;
padding-bottom: 0.5rem; | <div className="py-2"></div> |
ps-2 | padding-inline-start: 0.5rem; | <div className="ps-2"></div> |
pe-2 | padding-inline-end: 0.5rem; | <div className="pe-2"></div> |
pt-2 | padding-top: 0.5rem; | <div className="pt-2"></div> |
pr-2 | padding-right: 0.5rem; | <div className="pr-2"></div> |
pb-2 | padding-bottom: 0.5rem; | <div className="pb-2"></div> |
pl-2 | padding-left: 0.5rem; | <div className="pl-2"></div> |
p-2.5 | padding: 0.625rem; | <div className="p-2.5"></div> |
px-2.5 | padding-left: 0.625rem;
padding-right: 0.625rem; | <div className="px-2.5"></div> |
py-2.5 | padding-top: 0.625rem;
padding-bottom: 0.625rem; | <div className="py-2.5"></div> |
ps-2.5 | padding-inline-start: 0.625rem; | <div className="ps-2.5"></div> |
pe-2.5 | padding-inline-end: 0.625rem; | <div className="pe-2.5"></div> |
pt-2.5 | padding-top: 0.625rem; | <div className="pt-2.5"></div> |
pr-2.5 | padding-right: 0.625rem; | <div className="pr-2.5"></div> |
pb-2.5 | padding-bottom: 0.625rem; | <div className="pb-2.5"></div> |
pl-2.5 | padding-left: 0.625rem; | <div className="pl-2.5"></div> |
p-3 | padding: 0.75rem; | <div className="p-3"></div> |
px-3 | padding-left: 0.75rem;
padding-right: 0.75rem; | <div className="px-3"></div> |
py-3 | padding-top: 0.75rem;
padding-bottom: 0.75rem; | <div className="py-3"></div> |
ps-3 | padding-inline-start: 0.75rem; | <div className="ps-3"></div> |
pe-3 | padding-inline-end: 0.75rem; | <div className="pe-3"></div> |
pt-3 | padding-top: 0.75rem; | <div className="pt-3"></div> |
pr-3 | padding-right: 0.75rem; | <div className="pr-3"></div> |
pb-3 | padding-bottom: 0.75rem; | <div className="pb-3"></div> |
pl-3 | padding-left: 0.75rem; | <div className="pl-3"></div> |
p-3.5 | padding: 0.875rem; | <div className="p-3.5"></div> |
px-3.5 | padding-left: 0.875rem;
padding-right: 0.875rem; | <div className="px-3.5"></div> |
py-3.5 | padding-top: 0.875rem;
padding-bottom: 0.875rem; | <div className="py-3.5"></div> |
ps-3.5 | padding-inline-start: 0.875rem; | <div className="ps-3.5"></div> |
pe-3.5 | padding-inline-end: 0.875rem; | <div className="pe-3.5"></div> |
pt-3.5 | padding-top: 0.875rem; | <div className="pt-3.5"></div> |
pr-3.5 | padding-right: 0.875rem; | <div className="pr-3.5"></div> |
pb-3.5 | padding-bottom: 0.875rem; | <div className="pb-3.5"></div> |
pl-3.5 | padding-left: 0.875rem; | <div className="pl-3.5"></div> |
p-4 | padding: 1rem; | <div className="p-4"></div> |
px-4 | padding-left: 1rem;
padding-right: 1rem; | <div className="px-4"></div> |
py-4 | padding-top: 1rem;
padding-bottom: 1rem; | <div className="py-4"></div> |
ps-4 | padding-inline-start: 1rem; | <div className="ps-4"></div> |
pe-4 | padding-inline-end: 1rem; | <div className="pe-4"></div> |
pt-4 | padding-top: 1rem; | <div className="pt-4"></div> |
pr-4 | padding-right: 1rem; | <div className="pr-4"></div> |
pb-4 | padding-bottom: 1rem; | <div className="pb-4"></div> |
pl-4 | padding-left: 1rem; | <div className="pl-4"></div> |
p-5 | padding: 1.25rem; | <div className="p-5"></div> |
px-5 | padding-left: 1.25rem;
padding-right: 1.25rem; | <div className="px-5"></div> |
py-5 | padding-top: 1.25rem;
padding-bottom: 1.25rem; | <div className="py-5"></div> |
ps-5 | padding-inline-start: 1.25rem; | <div className="ps-5"></div> |
pe-5 | padding-inline-end: 1.25rem; | <div className="pe-5"></div> |
pt-5 | padding-top: 1.25rem; | <div className="pt-5"></div> |
pr-5 | padding-right: 1.25rem; | <div className="pr-5"></div> |
pb-5 | padding-bottom: 1.25rem; | <div className="pb-5"></div> |
pl-5 | padding-left: 1.25rem; | <div className="pl-5"></div> |
p-6 | padding: 1.5rem; | <div className="p-6"></div> |
px-6 | padding-left: 1.5rem;
padding-right: 1.5rem; | <div className="px-6"></div> |
py-6 | padding-top: 1.5rem;
padding-bottom: 1.5rem; | <div className="py-6"></div> |
ps-6 | padding-inline-start: 1.5rem; | <div className="ps-6"></div> |
pe-6 | padding-inline-end: 1.5rem; | <div className="pe-6"></div> |
pt-6 | padding-top: 1.5rem; | <div className="pt-6"></div> |
pr-6 | padding-right: 1.5rem; | <div className="pr-6"></div> |
pb-6 | padding-bottom: 1.5rem; | <div className="pb-6"></div> |
pl-6 | padding-left: 1.5rem; | <div className="pl-6"></div> |
p-7 | padding: 1.75rem; | <div className="p-7"></div> |
px-7 | padding-left: 1.75rem;
padding-right: 1.75rem; | <div className="px-7"></div> |
py-7 | padding-top: 1.75rem;
padding-bottom: 1.75rem; | <div className="py-7"></div> |
ps-7 | padding-inline-start: 1.75rem; | <div className="ps-7"></div> |
pe-7 | padding-inline-end: 1.75rem; | <div className="pe-7"></div> |
pt-7 | padding-top: 1.75rem; | <div className="pt-7"></div> |
pr-7 | padding-right: 1.75rem; | <div className="pr-7"></div> |
pb-7 | padding-bottom: 1.75rem; | <div className="pb-7"></div> |
pl-7 | padding-left: 1.75rem; | <div className="pl-7"></div> |
p-8 | padding: 2rem; | <div className="p-8"></div> |
px-8 | padding-left: 2rem;
padding-right: 2rem; | <div className="px-8"></div> |
py-8 | padding-top: 2rem;
padding-bottom: 2rem; | <div className="py-8"></div> |
ps-8 | padding-inline-start: 2rem; | <div className="ps-8"></div> |
pe-8 | padding-inline-end: 2rem; | <div className="pe-8"></div> |
pt-8 | padding-top: 2rem; | <div className="pt-8"></div> |
pr-8 | padding-right: 2rem; | <div className="pr-8"></div> |
pb-8 | padding-bottom: 2rem; | <div className="pb-8"></div> |
pl-8 | padding-left: 2rem; | <div className="pl-8"></div> |
p-9 | padding: 2.25rem; | <div className="p-9"></div> |
px-9 | padding-left: 2.25rem;
padding-right: 2.25rem; | <div className="px-9"></div> |
py-9 | padding-top: 2.25rem;
padding-bottom: 2.25rem; | <div className="py-9"></div> |
ps-9 | padding-inline-start: 2.25rem; | <div className="ps-9"></div> |
pe-9 | padding-inline-end: 2.25rem; | <div className="pe-9"></div> |
pt-9 | padding-top: 2.25rem; | <div className="pt-9"></div> |
pr-9 | padding-right: 2.25rem; | <div className="pr-9"></div> |
pb-9 | padding-bottom: 2.25rem; | <div className="pb-9"></div> |
pl-9 | padding-left: 2.25rem; | <div className="pl-9"></div> |
p-10 | padding: 2.5rem; | <div className="p-10"></div> |
px-10 | padding-left: 2.5rem;
padding-right: 2.5rem; | <div className="px-10"></div> |
py-10 | padding-top: 2.5rem;
padding-bottom: 2.5rem; | <div className="py-10"></div> |
ps-10 | padding-inline-start: 2.5rem; | <div className="ps-10"></div> |
pe-10 | padding-inline-end: 2.5rem; | <div className="pe-10"></div> |
pt-10 | padding-top: 2.5rem; | <div className="pt-10"></div> |
pr-10 | padding-right: 2.5rem; | <div className="pr-10"></div> |
pb-10 | padding-bottom: 2.5rem; | <div className="pb-10"></div> |
pl-10 | padding-left: 2.5rem; | <div className="pl-10"></div> |
p-11 | padding: 2.75rem; | <div className="p-11"></div> |
px-11 | padding-left: 2.75rem;
padding-right: 2.75rem; | <div className="px-11"></div> |
py-11 | padding-top: 2.75rem;
padding-bottom: 2.75rem; | <div className="py-11"></div> |
ps-11 | padding-inline-start: 2.75rem; | <div className="ps-11"></div> |
pe-11 | padding-inline-end: 2.75rem; | <div className="pe-11"></div> |
pt-11 | padding-top: 2.75rem; | <div className="pt-11"></div> |
pr-11 | padding-right: 2.75rem; | <div className="pr-11"></div> |
pb-11 | padding-bottom: 2.75rem; | <div className="pb-11"></div> |
pl-11 | padding-left: 2.75rem; | <div className="pl-11"></div> |
p-12 | padding: 3rem; | <div className="p-12"></div> |
px-12 | padding-left: 3rem;
padding-right: 3rem; | <div className="px-12"></div> |
py-12 | padding-top: 3rem;
padding-bottom: 3rem; | <div className="py-12"></div> |
ps-12 | padding-inline-start: 3rem; | <div className="ps-12"></div> |
pe-12 | padding-inline-end: 3rem; | <div className="pe-12"></div> |
pt-12 | padding-top: 3rem; | <div className="pt-12"></div> |
pr-12 | padding-right: 3rem; | <div className="pr-12"></div> |
pb-12 | padding-bottom: 3rem; | <div className="pb-12"></div> |
pl-12 | padding-left: 3rem; | <div className="pl-12"></div> |
p-14 | padding: 3.5rem; | <div className="p-14"></div> |
px-14 | padding-left: 3.5rem;
padding-right: 3.5rem; | <div className="px-14"></div> |
py-14 | padding-top: 3.5rem;
padding-bottom: 3.5rem; | <div className="py-14"></div> |
ps-14 | padding-inline-start: 3.5rem; | <div className="ps-14"></div> |
pe-14 | padding-inline-end: 3.5rem; | <div className="pe-14"></div> |
pt-14 | padding-top: 3.5rem; | <div className="pt-14"></div> |
pr-14 | padding-right: 3.5rem; | <div className="pr-14"></div> |
pb-14 | padding-bottom: 3.5rem; | <div className="pb-14"></div> |
pl-14 | padding-left: 3.5rem; | <div className="pl-14"></div> |
p-16 | padding: 4rem; | <div className="p-16"></div> |
px-16 | padding-left: 4rem;
padding-right: 4rem; | <div className="px-16"></div> |
py-16 | padding-top: 4rem;
padding-bottom: 4rem; | <div className="py-16"></div> |
ps-16 | padding-inline-start: 4rem; | <div className="ps-16"></div> |
pe-16 | padding-inline-end: 4rem; | <div className="pe-16"></div> |
pt-16 | padding-top: 4rem; | <div className="pt-16"></div> |
pr-16 | padding-right: 4rem; | <div className="pr-16"></div> |
pb-16 | padding-bottom: 4rem; | <div className="pb-16"></div> |
pl-16 | padding-left: 4rem; | <div className="pl-16"></div> |
p-20 | padding: 5rem; | <div className="p-20"></div> |
px-20 | padding-left: 5rem;
padding-right: 5rem; | <div className="px-20"></div> |
py-20 | padding-top: 5rem;
padding-bottom: 5rem; | <div className="py-20"></div> |
ps-20 | padding-inline-start: 5rem; | <div className="ps-20"></div> |
pe-20 | padding-inline-end: 5rem; | <div className="pe-20"></div> |
pt-20 | padding-top: 5rem; | <div className="pt-20"></div> |
pr-20 | padding-right: 5rem; | <div className="pr-20"></div> |
pb-20 | padding-bottom: 5rem; | <div className="pb-20"></div> |
pl-20 | padding-left: 5rem; | <div className="pl-20"></div> |
p-24 | padding: 6rem; | <div className="p-24"></div> |
px-24 | padding-left: 6rem;
padding-right: 6rem; | <div className="px-24"></div> |
py-24 | padding-top: 6rem;
padding-bottom: 6rem; | <div className="py-24"></div> |
ps-24 | padding-inline-start: 6rem; | <div className="ps-24"></div> |
pe-24 | padding-inline-end: 6rem; | <div className="pe-24"></div> |
pt-24 | padding-top: 6rem; | <div className="pt-24"></div> |
pr-24 | padding-right: 6rem; | <div className="pr-24"></div> |
pb-24 | padding-bottom: 6rem; | <div className="pb-24"></div> |
pl-24 | padding-left: 6rem; | <div className="pl-24"></div> |
p-28 | padding: 7rem; | <div className="p-28"></div> |
px-28 | padding-left: 7rem;
padding-right: 7rem; | <div className="px-28"></div> |
py-28 | padding-top: 7rem;
padding-bottom: 7rem; | <div className="py-28"></div> |
ps-28 | padding-inline-start: 7rem; | <div className="ps-28"></div> |
pe-28 | padding-inline-end: 7rem; | <div className="pe-28"></div> |
pt-28 | padding-top: 7rem; | <div className="pt-28"></div> |
pr-28 | padding-right: 7rem; | <div className="pr-28"></div> |
pb-28 | padding-bottom: 7rem; | <div className="pb-28"></div> |
pl-28 | padding-left: 7rem; | <div className="pl-28"></div> |
p-32 | padding: 8rem; | <div className="p-32"></div> |
px-32 | padding-left: 8rem;
padding-right: 8rem; | <div className="px-32"></div> |
py-32 | padding-top: 8rem;
padding-bottom: 8rem; | <div className="py-32"></div> |
ps-32 | padding-inline-start: 8rem; | <div className="ps-32"></div> |
pe-32 | padding-inline-end: 8rem; | <div className="pe-32"></div> |
pt-32 | padding-top: 8rem; | <div className="pt-32"></div> |
pr-32 | padding-right: 8rem; | <div className="pr-32"></div> |
pb-32 | padding-bottom: 8rem; | <div className="pb-32"></div> |
pl-32 | padding-left: 8rem; | <div className="pl-32"></div> |
p-36 | padding: 9rem; | <div className="p-36"></div> |
px-36 | padding-left: 9rem;
padding-right: 9rem; | <div className="px-36"></div> |
py-36 | padding-top: 9rem;
padding-bottom: 9rem; | <div className="py-36"></div> |
ps-36 | padding-inline-start: 9rem; | <div className="ps-36"></div> |
pe-36 | padding-inline-end: 9rem; | <div className="pe-36"></div> |
pt-36 | padding-top: 9rem; | <div className="pt-36"></div> |
pr-36 | padding-right: 9rem; | <div className="pr-36"></div> |
pb-36 | padding-bottom: 9rem; | <div className="pb-36"></div> |
pl-36 | padding-left: 9rem; | <div className="pl-36"></div> |
p-40 | padding: 10rem; | <div className="p-40"></div> |
px-40 | padding-left: 10rem;
padding-right: 10rem; | <div className="px-40"></div> |
py-40 | padding-top: 10rem;
padding-bottom: 10rem; | <div className="py-40"></div> |
ps-40 | padding-inline-start: 10rem; | <div className="ps-40"></div> |
pe-40 | padding-inline-end: 10rem; | <div className="pe-40"></div> |
pt-40 | padding-top: 10rem; | <div className="pt-40"></div> |
pr-40 | padding-right: 10rem; | <div className="pr-40"></div> |
pb-40 | padding-bottom: 10rem; | <div className="pb-40"></div> |
pl-40 | padding-left: 10rem; | <div className="pl-40"></div> |
p-44 | padding: 11rem; | <div className="p-44"></div> |
px-44 | padding-left: 11rem;
padding-right: 11rem; | <div className="px-44"></div> |
py-44 | padding-top: 11rem;
padding-bottom: 11rem; | <div className="py-44"></div> |
ps-44 | padding-inline-start: 11rem; | <div className="ps-44"></div> |
pe-44 | padding-inline-end: 11rem; | <div className="pe-44"></div> |
pt-44 | padding-top: 11rem; | <div className="pt-44"></div> |
pr-44 | padding-right: 11rem; | <div className="pr-44"></div> |
pb-44 | padding-bottom: 11rem; | <div className="pb-44"></div> |
pl-44 | padding-left: 11rem; | <div className="pl-44"></div> |
p-48 | padding: 12rem; | <div className="p-48"></div> |
px-48 | padding-left: 12rem;
padding-right: 12rem; | <div className="px-48"></div> |
py-48 | padding-top: 12rem;
padding-bottom: 12rem; | <div className="py-48"></div> |
ps-48 | padding-inline-start: 12rem; | <div className="ps-48"></div> |
pe-48 | padding-inline-end: 12rem; | <div className="pe-48"></div> |
pt-48 | padding-top: 12rem; | <div className="pt-48"></div> |
pr-48 | padding-right: 12rem; | <div className="pr-48"></div> |
pb-48 | padding-bottom: 12rem; | <div className="pb-48"></div> |
pl-48 | padding-left: 12rem; | <div className="pl-48"></div> |
p-52 | padding: 13rem; | <div className="p-52"></div> |
px-52 | padding-left: 13rem;
padding-right: 13rem; | <div className="px-52"></div> |
py-52 | padding-top: 13rem;
padding-bottom: 13rem; | <div className="py-52"></div> |
ps-52 | padding-inline-start: 13rem; | <div className="ps-52"></div> |
pe-52 | padding-inline-end: 13rem; | <div className="pe-52"></div> |
pt-52 | padding-top: 13rem; | <div className="pt-52"></div> |
pr-52 | padding-right: 13rem; | <div className="pr-52"></div> |
pb-52 | padding-bottom: 13rem; | <div className="pb-52"></div> |
pl-52 | padding-left: 13rem; | <div className="pl-52"></div> |
p-56 | padding: 14rem; | <div className="p-56"></div> |
px-56 | padding-left: 14rem;
padding-right: 14rem; | <div className="px-56"></div> |
py-56 | padding-top: 14rem;
padding-bottom: 14rem; | <div className="py-56"></div> |
ps-56 | padding-inline-start: 14rem; | <div className="ps-56"></div> |
pe-56 | padding-inline-end: 14rem; | <div className="pe-56"></div> |
pt-56 | padding-top: 14rem; | <div className="pt-56"></div> |
pr-56 | padding-right: 14rem; | <div className="pr-56"></div> |
pb-56 | padding-bottom: 14rem; | <div className="pb-56"></div> |
pl-56 | padding-left: 14rem; | <div className="pl-56"></div> |
p-60 | padding: 15rem; | <div className="p-60"></div> |
px-60 | padding-left: 15rem;
padding-right: 15rem; | <div className="px-60"></div> |
py-60 | padding-top: 15rem;
padding-bottom: 15rem; | <div className="py-60"></div> |
ps-60 | padding-inline-start: 15rem; | <div className="ps-60"></div> |
pe-60 | padding-inline-end: 15rem; | <div className="pe-60"></div> |
pt-60 | padding-top: 15rem; | <div className="pt-60"></div> |
pr-60 | padding-right: 15rem; | <div className="pr-60"></div> |
pb-60 | padding-bottom: 15rem; | <div className="pb-60"></div> |
pl-60 | padding-left: 15rem; | <div className="pl-60"></div> |
p-64 | padding: 16rem; | <div className="p-64"></div> |
px-64 | padding-left: 16rem;
padding-right: 16rem; | <div className="px-64"></div> |
py-64 | padding-top: 16rem;
padding-bottom: 16rem; | <div className="py-64"></div> |
ps-64 | padding-inline-start: 16rem; | <div className="ps-64"></div> |
pe-64 | padding-inline-end: 16rem; | <div className="pe-64"></div> |
pt-64 | padding-top: 16rem; | <div className="pt-64"></div> |
pr-64 | padding-right: 16rem; | <div className="pr-64"></div> |
pb-64 | padding-bottom: 16rem; | <div className="pb-64"></div> |
pl-64 | padding-left: 16rem; | <div className="pl-64"></div> |
p-72 | padding: 18rem; | <div className="p-72"></div> |
px-72 | padding-left: 18rem;
padding-right: 18rem; | <div className="px-72"></div> |
py-72 | padding-top: 18rem;
padding-bottom: 18rem; | <div className="py-72"></div> |
ps-72 | padding-inline-start: 18rem; | <div className="ps-72"></div> |
pe-72 | padding-inline-end: 18rem; | <div className="pe-72"></div> |
pt-72 | padding-top: 18rem; | <div className="pt-72"></div> |
pr-72 | padding-right: 18rem; | <div className="pr-72"></div> |
pb-72 | padding-bottom: 18rem; | <div className="pb-72"></div> |
pl-72 | padding-left: 18rem; | <div className="pl-72"></div> |
p-80 | padding: 20rem; | <div className="p-80"></div> |
px-80 | padding-left: 20rem;
padding-right: 20rem; | <div className="px-80"></div> |
py-80 | padding-top: 20rem;
padding-bottom: 20rem; | <div className="py-80"></div> |
ps-80 | padding-inline-start: 20rem; | <div className="ps-80"></div> |
pe-80 | padding-inline-end: 20rem; | <div className="pe-80"></div> |
pt-80 | padding-top: 20rem; | <div className="pt-80"></div> |
pr-80 | padding-right: 20rem; | <div className="pr-80"></div> |
pb-80 | padding-bottom: 20rem; | <div className="pb-80"></div> |
pl-80 | padding-left: 20rem; | <div className="pl-80"></div> |
p-96 | padding: 24rem; | <div className="p-96"></div> |
px-96 | padding-left: 24rem;
padding-right: 24rem; | <div className="px-96"></div> |
py-96 | padding-top: 24rem;
padding-bottom: 24rem; | <div className="py-96"></div> |
ps-96 | padding-inline-start: 24rem; | <div className="ps-96"></div> |
pe-96 | padding-inline-end: 24rem; | <div className="pe-96"></div> |
pt-96 | padding-top: 24rem; | <div className="pt-96"></div> |
pr-96 | padding-right: 24rem; | <div className="pr-96"></div> |
pb-96 | padding-bottom: 24rem; | <div className="pb-96"></div> |
pl-96 | padding-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:
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:
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.
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.
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.
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.
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.
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:
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.
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.
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.
export default function App() { return <h1>Hello world</h1> }
Feature Showcase with Asymmetric Padding
This example shows features with different padding on different sides.
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.
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.
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.
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.
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.
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.
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.
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.
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.