Tailwind CSS Scroll Padding
Scroll padding is used to adjust the starting position of scroll snaps when navigating through a scrollable container. Tailwind CSS provides a suite of utility classes dedicated to implementing scrolling padding properties.
These utilities enable you to efficiently manage scroll snapping behavior without manually writing custom CSS, making them ideal for modern responsive layouts.
| Class | Properties | Example |
|---|---|---|
scroll-p-0 | scroll-padding: 0px; | <div className="scroll-p-0"></div> |
scroll-px-0 | scroll-padding-left: 0px;
scroll-padding-right: 0px; | <div className="scroll-px-0"></div> |
scroll-py-0 | scroll-padding-top: 0px;
scroll-padding-bottom: 0px; | <div className="scroll-py-0"></div> |
scroll-ps-0 | scroll-padding-inline-start: 0px; | <div className="scroll-ps-0"></div> |
scroll-pe-0 | scroll-padding-inline-end: 0px; | <div className="scroll-pe-0"></div> |
scroll-pt-0 | scroll-padding-top: 0px; | <div className="scroll-pt-0"></div> |
scroll-pr-0 | scroll-padding-right: 0px; | <div className="scroll-pr-0"></div> |
scroll-pb-0 | scroll-padding-bottom: 0px; | <div className="scroll-pb-0"></div> |
scroll-pl-0 | scroll-padding-left: 0px; | <div className="scroll-pl-0"></div> |
scroll-p-px | scroll-padding: 1px; | <div className="scroll-p-px"></div> |
scroll-px-px | scroll-padding-left: 1px;
scroll-padding-right: 1px; | <div className="scroll-px-px"></div> |
scroll-py-px | scroll-padding-top: 1px;
scroll-padding-bottom: 1px; | <div className="scroll-py-px"></div> |
scroll-ps-px | scroll-padding-inline-start: 1px; | <div className="scroll-ps-px"></div> |
scroll-pe-px | scroll-padding-inline-end: 1px; | <div className="scroll-pe-px"></div> |
scroll-pt-px | scroll-padding-top: 1px; | <div className="scroll-pt-px"></div> |
scroll-pr-px | scroll-padding-right: 1px; | <div className="scroll-pr-px"></div> |
scroll-pb-px | scroll-padding-bottom: 1px; | <div className="scroll-pb-px"></div> |
scroll-pl-px | scroll-padding-left: 1px; | <div className="scroll-pl-px"></div> |
scroll-p-0.5 | scroll-padding: 0.125rem; | <div className="scroll-p-0.5"></div> |
scroll-px-0.5 | scroll-padding-left: 0.125rem;
scroll-padding-right: 0.125rem; | <div className="scroll-px-0.5"></div> |
scroll-py-0.5 | scroll-padding-top: 0.125rem;
scroll-padding-bottom: 0.125rem; | <div className="scroll-py-0.5"></div> |
scroll-ps-0.5 | scroll-padding-inline-start: 0.125rem; | <div className="scroll-ps-0.5"></div> |
scroll-pe-0.5 | scroll-padding-inline-end: 0.125rem; | <div className="scroll-pe-0.5"></div> |
scroll-pt-0.5 | scroll-padding-top: 0.125rem; | <div className="scroll-pt-0.5"></div> |
scroll-pr-0.5 | scroll-padding-right: 0.125rem; | <div className="scroll-pr-0.5"></div> |
scroll-pb-0.5 | scroll-padding-bottom: 0.125rem; | <div className="scroll-pb-0.5"></div> |
scroll-pl-0.5 | scroll-padding-left: 0.125rem; | <div className="scroll-pl-0.5"></div> |
scroll-p-1 | scroll-padding: 0.25rem; | <div className="scroll-p-1"></div> |
scroll-px-1 | scroll-padding-left: 0.25rem;
scroll-padding-right: 0.25rem; | <div className="scroll-px-1"></div> |
scroll-py-1 | scroll-padding-top: 0.25rem;
scroll-padding-bottom: 0.25rem; | <div className="scroll-py-1"></div> |
scroll-ps-1 | scroll-padding-inline-start: 0.25rem; | <div className="scroll-ps-1"></div> |
scroll-pe-1 | scroll-padding-inline-end: 0.25rem; | <div className="scroll-pe-1"></div> |
scroll-pt-1 | scroll-padding-top: 0.25rem; | <div className="scroll-pt-1"></div> |
scroll-pr-1 | scroll-padding-right: 0.25rem; | <div className="scroll-pr-1"></div> |
scroll-pb-1 | scroll-padding-bottom: 0.25rem; | <div className="scroll-pb-1"></div> |
scroll-pl-1 | scroll-padding-left: 0.25rem; | <div className="scroll-pl-1"></div> |
scroll-p-1.5 | scroll-padding: 0.375rem; | <div className="scroll-p-1.5"></div> |
scroll-px-1.5 | scroll-padding-left: 0.375rem;
scroll-padding-right: 0.375rem; | <div className="scroll-px-1.5"></div> |
scroll-py-1.5 | scroll-padding-top: 0.375rem;
scroll-padding-bottom: 0.375rem; | <div className="scroll-py-1.5"></div> |
scroll-ps-1.5 | scroll-padding-inline-start: 0.375rem; | <div className="scroll-ps-1.5"></div> |
scroll-pe-1.5 | scroll-padding-inline-end: 0.375rem; | <div className="scroll-pe-1.5"></div> |
scroll-pt-1.5 | scroll-padding-top: 0.375rem; | <div className="scroll-pt-1.5"></div> |
scroll-pr-1.5 | scroll-padding-right: 0.375rem; | <div className="scroll-pr-1.5"></div> |
scroll-pb-1.5 | scroll-padding-bottom: 0.375rem; | <div className="scroll-pb-1.5"></div> |
scroll-pl-1.5 | scroll-padding-left: 0.375rem; | <div className="scroll-pl-1.5"></div> |
scroll-p-2 | scroll-padding: 0.5rem; | <div className="scroll-p-2"></div> |
scroll-px-2 | scroll-padding-left: 0.5rem;
scroll-padding-right: 0.5rem; | <div className="scroll-px-2"></div> |
scroll-py-2 | scroll-padding-top: 0.5rem;
scroll-padding-bottom: 0.5rem; | <div className="scroll-py-2"></div> |
scroll-ps-2 | scroll-padding-inline-start: 0.5rem; | <div className="scroll-ps-2"></div> |
scroll-pe-2 | scroll-padding-inline-end: 0.5rem; | <div className="scroll-pe-2"></div> |
scroll-pt-2 | scroll-padding-top: 0.5rem; | <div className="scroll-pt-2"></div> |
scroll-pr-2 | scroll-padding-right: 0.5rem; | <div className="scroll-pr-2"></div> |
scroll-pb-2 | scroll-padding-bottom: 0.5rem; | <div className="scroll-pb-2"></div> |
scroll-pl-2 | scroll-padding-left: 0.5rem; | <div className="scroll-pl-2"></div> |
scroll-p-2.5 | scroll-padding: 0.625rem; | <div className="scroll-p-2.5"></div> |
scroll-px-2.5 | scroll-padding-left: 0.625rem;
scroll-padding-right: 0.625rem; | <div className="scroll-px-2.5"></div> |
scroll-py-2.5 | scroll-padding-top: 0.625rem;
scroll-padding-bottom: 0.625rem; | <div className="scroll-py-2.5"></div> |
scroll-ps-2.5 | scroll-padding-inline-start: 0.625rem; | <div className="scroll-ps-2.5"></div> |
scroll-pe-2.5 | scroll-padding-inline-end: 0.625rem; | <div className="scroll-pe-2.5"></div> |
scroll-pt-2.5 | scroll-padding-top: 0.625rem; | <div className="scroll-pt-2.5"></div> |
scroll-pr-2.5 | scroll-padding-right: 0.625rem; | <div className="scroll-pr-2.5"></div> |
scroll-pb-2.5 | scroll-padding-bottom: 0.625rem; | <div className="scroll-pb-2.5"></div> |
scroll-pl-2.5 | scroll-padding-left: 0.625rem; | <div className="scroll-pl-2.5"></div> |
scroll-p-3 | scroll-padding: 0.75rem; | <div className="scroll-p-3"></div> |
scroll-px-3 | scroll-padding-left: 0.75rem;
scroll-padding-right: 0.75rem; | <div className="scroll-px-3"></div> |
scroll-py-3 | scroll-padding-top: 0.75rem;
scroll-padding-bottom: 0.75rem; | <div className="scroll-py-3"></div> |
scroll-ps-3 | scroll-padding-inline-start: 0.75rem; | <div className="scroll-ps-3"></div> |
scroll-pe-3 | scroll-padding-inline-end: 0.75rem; | <div className="scroll-pe-3"></div> |
scroll-pt-3 | scroll-padding-top: 0.75rem; | <div className="scroll-pt-3"></div> |
scroll-pr-3 | scroll-padding-right: 0.75rem; | <div className="scroll-pr-3"></div> |
scroll-pb-3 | scroll-padding-bottom: 0.75rem; | <div className="scroll-pb-3"></div> |
scroll-pl-3 | scroll-padding-left: 0.75rem; | <div className="scroll-pl-3"></div> |
scroll-p-3.5 | scroll-padding: 0.875rem; | <div className="scroll-p-3.5"></div> |
scroll-px-3.5 | scroll-padding-left: 0.875rem;
scroll-padding-right: 0.875rem; | <div className="scroll-px-3.5"></div> |
scroll-py-3.5 | scroll-padding-top: 0.875rem;
scroll-padding-bottom: 0.875rem; | <div className="scroll-py-3.5"></div> |
scroll-ps-3.5 | scroll-padding-inline-start: 0.875rem; | <div className="scroll-ps-3.5"></div> |
scroll-pe-3.5 | scroll-padding-inline-end: 0.875rem; | <div className="scroll-pe-3.5"></div> |
scroll-pt-3.5 | scroll-padding-top: 0.875rem; | <div className="scroll-pt-3.5"></div> |
scroll-pr-3.5 | scroll-padding-right: 0.875rem; | <div className="scroll-pr-3.5"></div> |
scroll-pb-3.5 | scroll-padding-bottom: 0.875rem; | <div className="scroll-pb-3.5"></div> |
scroll-pl-3.5 | scroll-padding-left: 0.875rem; | <div className="scroll-pl-3.5"></div> |
scroll-p-4 | scroll-padding: 1rem; | <div className="scroll-p-4"></div> |
scroll-px-4 | scroll-padding-left: 1rem;
scroll-padding-right: 1rem; | <div className="scroll-px-4"></div> |
scroll-py-4 | scroll-padding-top: 1rem;
scroll-padding-bottom: 1rem; | <div className="scroll-py-4"></div> |
scroll-ps-4 | scroll-padding-inline-start: 1rem; | <div className="scroll-ps-4"></div> |
scroll-pe-4 | scroll-padding-inline-end: 1rem; | <div className="scroll-pe-4"></div> |
scroll-pt-4 | scroll-padding-top: 1rem; | <div className="scroll-pt-4"></div> |
scroll-pr-4 | scroll-padding-right: 1rem; | <div className="scroll-pr-4"></div> |
scroll-pb-4 | scroll-padding-bottom: 1rem; | <div className="scroll-pb-4"></div> |
scroll-pl-4 | scroll-padding-left: 1rem; | <div className="scroll-pl-4"></div> |
scroll-p-5 | scroll-padding: 1.25rem; | <div className="scroll-p-5"></div> |
scroll-px-5 | scroll-padding-left: 1.25rem;
scroll-padding-right: 1.25rem; | <div className="scroll-px-5"></div> |
scroll-py-5 | scroll-padding-top: 1.25rem;
scroll-padding-bottom: 1.25rem; | <div className="scroll-py-5"></div> |
scroll-ps-5 | scroll-padding-inline-start: 1.25rem; | <div className="scroll-ps-5"></div> |
scroll-pe-5 | scroll-padding-inline-end: 1.25rem; | <div className="scroll-pe-5"></div> |
scroll-pt-5 | scroll-padding-top: 1.25rem; | <div className="scroll-pt-5"></div> |
scroll-pr-5 | scroll-padding-right: 1.25rem; | <div className="scroll-pr-5"></div> |
scroll-pb-5 | scroll-padding-bottom: 1.25rem; | <div className="scroll-pb-5"></div> |
scroll-pl-5 | scroll-padding-left: 1.25rem; | <div className="scroll-pl-5"></div> |
scroll-p-6 | scroll-padding: 1.5rem; | <div className="scroll-p-6"></div> |
scroll-px-6 | scroll-padding-left: 1.5rem;
scroll-padding-right: 1.5rem; | <div className="scroll-px-6"></div> |
scroll-py-6 | scroll-padding-top: 1.5rem;
scroll-padding-bottom: 1.5rem; | <div className="scroll-py-6"></div> |
scroll-ps-6 | scroll-padding-inline-start: 1.5rem; | <div className="scroll-ps-6"></div> |
scroll-pe-6 | scroll-padding-inline-end: 1.5rem; | <div className="scroll-pe-6"></div> |
scroll-pt-6 | scroll-padding-top: 1.5rem; | <div className="scroll-pt-6"></div> |
scroll-pr-6 | scroll-padding-right: 1.5rem; | <div className="scroll-pr-6"></div> |
scroll-pb-6 | scroll-padding-bottom: 1.5rem; | <div className="scroll-pb-6"></div> |
scroll-pl-6 | scroll-padding-left: 1.5rem; | <div className="scroll-pl-6"></div> |
scroll-p-7 | scroll-padding: 1.75rem; | <div className="scroll-p-7"></div> |
scroll-px-7 | scroll-padding-left: 1.75rem;
scroll-padding-right: 1.75rem; | <div className="scroll-px-7"></div> |
scroll-py-7 | scroll-padding-top: 1.75rem;
scroll-padding-bottom: 1.75rem; | <div className="scroll-py-7"></div> |
scroll-ps-7 | scroll-padding-inline-start: 1.75rem; | <div className="scroll-ps-7"></div> |
scroll-pe-7 | scroll-padding-inline-end: 1.75rem; | <div className="scroll-pe-7"></div> |
scroll-pt-7 | scroll-padding-top: 1.75rem; | <div className="scroll-pt-7"></div> |
scroll-pr-7 | scroll-padding-right: 1.75rem; | <div className="scroll-pr-7"></div> |
scroll-pb-7 | scroll-padding-bottom: 1.75rem; | <div className="scroll-pb-7"></div> |
scroll-pl-7 | scroll-padding-left: 1.75rem; | <div className="scroll-pl-7"></div> |
scroll-p-8 | scroll-padding: 2rem; | <div className="scroll-p-8"></div> |
scroll-px-8 | scroll-padding-left: 2rem;
scroll-padding-right: 2rem; | <div className="scroll-px-8"></div> |
scroll-py-8 | scroll-padding-top: 2rem;
scroll-padding-bottom: 2rem; | <div className="scroll-py-8"></div> |
scroll-ps-8 | scroll-padding-inline-start: 2rem; | <div className="scroll-ps-8"></div> |
scroll-pe-8 | scroll-padding-inline-end: 2rem; | <div className="scroll-pe-8"></div> |
scroll-pt-8 | scroll-padding-top: 2rem; | <div className="scroll-pt-8"></div> |
scroll-pr-8 | scroll-padding-right: 2rem; | <div className="scroll-pr-8"></div> |
scroll-pb-8 | scroll-padding-bottom: 2rem; | <div className="scroll-pb-8"></div> |
scroll-pl-8 | scroll-padding-left: 2rem; | <div className="scroll-pl-8"></div> |
scroll-p-9 | scroll-padding: 2.25rem; | <div className="scroll-p-9"></div> |
scroll-px-9 | scroll-padding-left: 2.25rem;
scroll-padding-right: 2.25rem; | <div className="scroll-px-9"></div> |
scroll-py-9 | scroll-padding-top: 2.25rem;
scroll-padding-bottom: 2.25rem; | <div className="scroll-py-9"></div> |
scroll-ps-9 | scroll-padding-inline-start: 2.25rem; | <div className="scroll-ps-9"></div> |
scroll-pe-9 | scroll-padding-inline-end: 2.25rem; | <div className="scroll-pe-9"></div> |
scroll-pt-9 | scroll-padding-top: 2.25rem; | <div className="scroll-pt-9"></div> |
scroll-pr-9 | scroll-padding-right: 2.25rem; | <div className="scroll-pr-9"></div> |
scroll-pb-9 | scroll-padding-bottom: 2.25rem; | <div className="scroll-pb-9"></div> |
scroll-pl-9 | scroll-padding-left: 2.25rem; | <div className="scroll-pl-9"></div> |
scroll-p-10 | scroll-padding: 2.5rem; | <div className="scroll-p-10"></div> |
scroll-px-10 | scroll-padding-left: 2.5rem;
scroll-padding-right: 2.5rem; | <div className="scroll-px-10"></div> |
scroll-py-10 | scroll-padding-top: 2.5rem;
scroll-padding-bottom: 2.5rem; | <div className="scroll-py-10"></div> |
scroll-ps-10 | scroll-padding-inline-start: 2.5rem; | <div className="scroll-ps-10"></div> |
scroll-pe-10 | scroll-padding-inline-end: 2.5rem; | <div className="scroll-pe-10"></div> |
scroll-pt-10 | scroll-padding-top: 2.5rem; | <div className="scroll-pt-10"></div> |
scroll-pr-10 | scroll-padding-right: 2.5rem; | <div className="scroll-pr-10"></div> |
scroll-pb-10 | scroll-padding-bottom: 2.5rem; | <div className="scroll-pb-10"></div> |
scroll-pl-10 | scroll-padding-left: 2.5rem; | <div className="scroll-pl-10"></div> |
scroll-p-11 | scroll-padding: 2.75rem; | <div className="scroll-p-11"></div> |
scroll-px-11 | scroll-padding-left: 2.75rem;
scroll-padding-right: 2.75rem; | <div className="scroll-px-11"></div> |
scroll-py-11 | scroll-padding-top: 2.75rem;
scroll-padding-bottom: 2.75rem; | <div className="scroll-py-11"></div> |
scroll-ps-11 | scroll-padding-inline-start: 2.75rem; | <div className="scroll-ps-11"></div> |
scroll-pe-11 | scroll-padding-inline-end: 2.75rem; | <div className="scroll-pe-11"></div> |
scroll-pt-11 | scroll-padding-top: 2.75rem; | <div className="scroll-pt-11"></div> |
scroll-pr-11 | scroll-padding-right: 2.75rem; | <div className="scroll-pr-11"></div> |
scroll-pb-11 | scroll-padding-bottom: 2.75rem; | <div className="scroll-pb-11"></div> |
scroll-pl-11 | scroll-padding-left: 2.75rem; | <div className="scroll-pl-11"></div> |
scroll-p-12 | scroll-padding: 3rem; | <div className="scroll-p-12"></div> |
scroll-px-12 | scroll-padding-left: 3rem;
scroll-padding-right: 3rem; | <div className="scroll-px-12"></div> |
scroll-py-12 | scroll-padding-top: 3rem;
scroll-padding-bottom: 3rem; | <div className="scroll-py-12"></div> |
scroll-ps-12 | scroll-padding-inline-start: 3rem; | <div className="scroll-ps-12"></div> |
scroll-pe-12 | scroll-padding-inline-end: 3rem; | <div className="scroll-pe-12"></div> |
scroll-pt-12 | scroll-padding-top: 3rem; | <div className="scroll-pt-12"></div> |
scroll-pr-12 | scroll-padding-right: 3rem; | <div className="scroll-pr-12"></div> |
scroll-pb-12 | scroll-padding-bottom: 3rem; | <div className="scroll-pb-12"></div> |
scroll-pl-12 | scroll-padding-left: 3rem; | <div className="scroll-pl-12"></div> |
scroll-p-14 | scroll-padding: 3.5rem; | <div className="scroll-p-14"></div> |
scroll-px-14 | scroll-padding-left: 3.5rem;
scroll-padding-right: 3.5rem; | <div className="scroll-px-14"></div> |
scroll-py-14 | scroll-padding-top: 3.5rem;
scroll-padding-bottom: 3.5rem; | <div className="scroll-py-14"></div> |
scroll-ps-14 | scroll-padding-inline-start: 3.5rem; | <div className="scroll-ps-14"></div> |
scroll-pe-14 | scroll-padding-inline-end: 3.5rem; | <div className="scroll-pe-14"></div> |
scroll-pt-14 | scroll-padding-top: 3.5rem; | <div className="scroll-pt-14"></div> |
scroll-pr-14 | scroll-padding-right: 3.5rem; | <div className="scroll-pr-14"></div> |
scroll-pb-14 | scroll-padding-bottom: 3.5rem; | <div className="scroll-pb-14"></div> |
scroll-pl-14 | scroll-padding-left: 3.5rem; | <div className="scroll-pl-14"></div> |
scroll-p-16 | scroll-padding: 4rem; | <div className="scroll-p-16"></div> |
scroll-px-16 | scroll-padding-left: 4rem;
scroll-padding-right: 4rem; | <div className="scroll-px-16"></div> |
scroll-py-16 | scroll-padding-top: 4rem;
scroll-padding-bottom: 4rem; | <div className="scroll-py-16"></div> |
scroll-ps-16 | scroll-padding-inline-start: 4rem; | <div className="scroll-ps-16"></div> |
scroll-pe-16 | scroll-padding-inline-end: 4rem; | <div className="scroll-pe-16"></div> |
scroll-pt-16 | scroll-padding-top: 4rem; | <div className="scroll-pt-16"></div> |
scroll-pr-16 | scroll-padding-right: 4rem; | <div className="scroll-pr-16"></div> |
scroll-pb-16 | scroll-padding-bottom: 4rem; | <div className="scroll-pb-16"></div> |
scroll-pl-16 | scroll-padding-left: 4rem; | <div className="scroll-pl-16"></div> |
scroll-p-20 | scroll-padding: 5rem; | <div className="scroll-p-20"></div> |
scroll-px-20 | scroll-padding-left: 5rem;
scroll-padding-right: 5rem; | <div className="scroll-px-20"></div> |
scroll-py-20 | scroll-padding-top: 5rem;
scroll-padding-bottom: 5rem; | <div className="scroll-py-20"></div> |
scroll-ps-20 | scroll-padding-inline-start: 5rem; | <div className="scroll-ps-20"></div> |
scroll-pe-20 | scroll-padding-inline-end: 5rem; | <div className="scroll-pe-20"></div> |
scroll-pt-20 | scroll-padding-top: 5rem; | <div className="scroll-pt-20"></div> |
scroll-pr-20 | scroll-padding-right: 5rem; | <div className="scroll-pr-20"></div> |
scroll-pb-20 | scroll-padding-bottom: 5rem; | <div className="scroll-pb-20"></div> |
scroll-pl-20 | scroll-padding-left: 5rem; | <div className="scroll-pl-20"></div> |
scroll-p-24 | scroll-padding: 6rem; | <div className="scroll-p-24"></div> |
scroll-px-24 | scroll-padding-left: 6rem;
scroll-padding-right: 6rem; | <div className="scroll-px-24"></div> |
scroll-py-24 | scroll-padding-top: 6rem;
scroll-padding-bottom: 6rem; | <div className="scroll-py-24"></div> |
scroll-ps-24 | scroll-padding-inline-start: 6rem; | <div className="scroll-ps-24"></div> |
scroll-pe-24 | scroll-padding-inline-end: 6rem; | <div className="scroll-pe-24"></div> |
scroll-pt-24 | scroll-padding-top: 6rem; | <div className="scroll-pt-24"></div> |
scroll-pr-24 | scroll-padding-right: 6rem; | <div className="scroll-pr-24"></div> |
scroll-pb-24 | scroll-padding-bottom: 6rem; | <div className="scroll-pb-24"></div> |
scroll-pl-24 | scroll-padding-left: 6rem; | <div className="scroll-pl-24"></div> |
scroll-p-28 | scroll-padding: 7rem; | <div className="scroll-p-28"></div> |
scroll-px-28 | scroll-padding-left: 7rem;
scroll-padding-right: 7rem; | <div className="scroll-px-28"></div> |
scroll-py-28 | scroll-padding-top: 7rem;
scroll-padding-bottom: 7rem; | <div className="scroll-py-28"></div> |
scroll-ps-28 | scroll-padding-inline-start: 7rem; | <div className="scroll-ps-28"></div> |
scroll-pe-28 | scroll-padding-inline-end: 7rem; | <div className="scroll-pe-28"></div> |
scroll-pt-28 | scroll-padding-top: 7rem; | <div className="scroll-pt-28"></div> |
scroll-pr-28 | scroll-padding-right: 7rem; | <div className="scroll-pr-28"></div> |
scroll-pb-28 | scroll-padding-bottom: 7rem; | <div className="scroll-pb-28"></div> |
scroll-pl-28 | scroll-padding-left: 7rem; | <div className="scroll-pl-28"></div> |
scroll-p-32 | scroll-padding: 8rem; | <div className="scroll-p-32"></div> |
scroll-px-32 | scroll-padding-left: 8rem;
scroll-padding-right: 8rem; | <div className="scroll-px-32"></div> |
scroll-py-32 | scroll-padding-top: 8rem;
scroll-padding-bottom: 8rem; | <div className="scroll-py-32"></div> |
scroll-ps-32 | scroll-padding-inline-start: 8rem; | <div className="scroll-ps-32"></div> |
scroll-pe-32 | scroll-padding-inline-end: 8rem; | <div className="scroll-pe-32"></div> |
scroll-pt-32 | scroll-padding-top: 8rem; | <div className="scroll-pt-32"></div> |
scroll-pr-32 | scroll-padding-right: 8rem; | <div className="scroll-pr-32"></div> |
scroll-pb-32 | scroll-padding-bottom: 8rem; | <div className="scroll-pb-32"></div> |
scroll-pl-32 | scroll-padding-left: 8rem; | <div className="scroll-pl-32"></div> |
scroll-p-36 | scroll-padding: 9rem; | <div className="scroll-p-36"></div> |
scroll-px-36 | scroll-padding-left: 9rem;
scroll-padding-right: 9rem; | <div className="scroll-px-36"></div> |
scroll-py-36 | scroll-padding-top: 9rem;
scroll-padding-bottom: 9rem; | <div className="scroll-py-36"></div> |
scroll-ps-36 | scroll-padding-inline-start: 9rem; | <div className="scroll-ps-36"></div> |
scroll-pe-36 | scroll-padding-inline-end: 9rem; | <div className="scroll-pe-36"></div> |
scroll-pt-36 | scroll-padding-top: 9rem; | <div className="scroll-pt-36"></div> |
scroll-pr-36 | scroll-padding-right: 9rem; | <div className="scroll-pr-36"></div> |
scroll-pb-36 | scroll-padding-bottom: 9rem; | <div className="scroll-pb-36"></div> |
scroll-pl-36 | scroll-padding-left: 9rem; | <div className="scroll-pl-36"></div> |
scroll-p-40 | scroll-padding: 10rem; | <div className="scroll-p-40"></div> |
scroll-px-40 | scroll-padding-left: 10rem;
scroll-padding-right: 10rem; | <div className="scroll-px-40"></div> |
scroll-py-40 | scroll-padding-top: 10rem;
scroll-padding-bottom: 10rem; | <div className="scroll-py-40"></div> |
scroll-ps-40 | scroll-padding-inline-start: 10rem; | <div className="scroll-ps-40"></div> |
scroll-pe-40 | scroll-padding-inline-end: 10rem; | <div className="scroll-pe-40"></div> |
scroll-pt-40 | scroll-padding-top: 10rem; | <div className="scroll-pt-40"></div> |
scroll-pr-40 | scroll-padding-right: 10rem; | <div className="scroll-pr-40"></div> |
scroll-pb-40 | scroll-padding-bottom: 10rem; | <div className="scroll-pb-40"></div> |
scroll-pl-40 | scroll-padding-left: 10rem; | <div className="scroll-pl-40"></div> |
scroll-p-44 | scroll-padding: 11rem; | <div className="scroll-p-44"></div> |
scroll-px-44 | scroll-padding-left: 11rem;
scroll-padding-right: 11rem; | <div className="scroll-px-44"></div> |
scroll-py-44 | scroll-padding-top: 11rem;
scroll-padding-bottom: 11rem; | <div className="scroll-py-44"></div> |
scroll-ps-44 | scroll-padding-inline-start: 11rem; | <div className="scroll-ps-44"></div> |
scroll-pe-44 | scroll-padding-inline-end: 11rem; | <div className="scroll-pe-44"></div> |
scroll-pt-44 | scroll-padding-top: 11rem; | <div className="scroll-pt-44"></div> |
scroll-pr-44 | scroll-padding-right: 11rem; | <div className="scroll-pr-44"></div> |
scroll-pb-44 | scroll-padding-bottom: 11rem; | <div className="scroll-pb-44"></div> |
scroll-pl-44 | scroll-padding-left: 11rem; | <div className="scroll-pl-44"></div> |
scroll-p-48 | scroll-padding: 12rem; | <div className="scroll-p-48"></div> |
scroll-px-48 | scroll-padding-left: 12rem;
scroll-padding-right: 12rem; | <div className="scroll-px-48"></div> |
scroll-py-48 | scroll-padding-top: 12rem;
scroll-padding-bottom: 12rem; | <div className="scroll-py-48"></div> |
scroll-ps-48 | scroll-padding-inline-start: 12rem; | <div className="scroll-ps-48"></div> |
scroll-pe-48 | scroll-padding-inline-end: 12rem; | <div className="scroll-pe-48"></div> |
scroll-pt-48 | scroll-padding-top: 12rem; | <div className="scroll-pt-48"></div> |
scroll-pr-48 | scroll-padding-right: 12rem; | <div className="scroll-pr-48"></div> |
scroll-pb-48 | scroll-padding-bottom: 12rem; | <div className="scroll-pb-48"></div> |
scroll-pl-48 | scroll-padding-left: 12rem; | <div className="scroll-pl-48"></div> |
scroll-p-52 | scroll-padding: 13rem; | <div className="scroll-p-52"></div> |
scroll-px-52 | scroll-padding-left: 13rem;
scroll-padding-right: 13rem; | <div className="scroll-px-52"></div> |
scroll-py-52 | scroll-padding-top: 13rem;
scroll-padding-bottom: 13rem; | <div className="scroll-py-52"></div> |
scroll-ps-52 | scroll-padding-inline-start: 13rem; | <div className="scroll-ps-52"></div> |
scroll-pe-52 | scroll-padding-inline-end: 13rem; | <div className="scroll-pe-52"></div> |
scroll-pt-52 | scroll-padding-top: 13rem; | <div className="scroll-pt-52"></div> |
scroll-pr-52 | scroll-padding-right: 13rem; | <div className="scroll-pr-52"></div> |
scroll-pb-52 | scroll-padding-bottom: 13rem; | <div className="scroll-pb-52"></div> |
scroll-pl-52 | scroll-padding-left: 13rem; | <div className="scroll-pl-52"></div> |
scroll-p-56 | scroll-padding: 14rem; | <div className="scroll-p-56"></div> |
scroll-px-56 | scroll-padding-left: 14rem;
scroll-padding-right: 14rem; | <div className="scroll-px-56"></div> |
scroll-py-56 | scroll-padding-top: 14rem;
scroll-padding-bottom: 14rem; | <div className="scroll-py-56"></div> |
scroll-ps-56 | scroll-padding-inline-start: 14rem; | <div className="scroll-ps-56"></div> |
scroll-pe-56 | scroll-padding-inline-end: 14rem; | <div className="scroll-pe-56"></div> |
scroll-pt-56 | scroll-padding-top: 14rem; | <div className="scroll-pt-56"></div> |
scroll-pr-56 | scroll-padding-right: 14rem; | <div className="scroll-pr-56"></div> |
scroll-pb-56 | scroll-padding-bottom: 14rem; | <div className="scroll-pb-56"></div> |
scroll-pl-56 | scroll-padding-left: 14rem; | <div className="scroll-pl-56"></div> |
scroll-p-60 | scroll-padding: 15rem; | <div className="scroll-p-60"></div> |
scroll-px-60 | scroll-padding-left: 15rem;
scroll-padding-right: 15rem; | <div className="scroll-px-60"></div> |
scroll-py-60 | scroll-padding-top: 15rem;
scroll-padding-bottom: 15rem; | <div className="scroll-py-60"></div> |
scroll-ps-60 | scroll-padding-inline-start: 15rem; | <div className="scroll-ps-60"></div> |
scroll-pe-60 | scroll-padding-inline-end: 15rem; | <div className="scroll-pe-60"></div> |
scroll-pt-60 | scroll-padding-top: 15rem; | <div className="scroll-pt-60"></div> |
scroll-pr-60 | scroll-padding-right: 15rem; | <div className="scroll-pr-60"></div> |
scroll-pb-60 | scroll-padding-bottom: 15rem; | <div className="scroll-pb-60"></div> |
scroll-pl-60 | scroll-padding-left: 15rem; | <div className="scroll-pl-60"></div> |
scroll-p-64 | scroll-padding: 16rem; | <div className="scroll-p-64"></div> |
scroll-px-64 | scroll-padding-left: 16rem;
scroll-padding-right: 16rem; | <div className="scroll-px-64"></div> |
scroll-py-64 | scroll-padding-top: 16rem;
scroll-padding-bottom: 16rem; | <div className="scroll-py-64"></div> |
scroll-ps-64 | scroll-padding-inline-start: 16rem; | <div className="scroll-ps-64"></div> |
scroll-pe-64 | scroll-padding-inline-end: 16rem; | <div className="scroll-pe-64"></div> |
scroll-pt-64 | scroll-padding-top: 16rem; | <div className="scroll-pt-64"></div> |
scroll-pr-64 | scroll-padding-right: 16rem; | <div className="scroll-pr-64"></div> |
scroll-pb-64 | scroll-padding-bottom: 16rem; | <div className="scroll-pb-64"></div> |
scroll-pl-64 | scroll-padding-left: 16rem; | <div className="scroll-pl-64"></div> |
scroll-p-72 | scroll-padding: 18rem; | <div className="scroll-p-72"></div> |
scroll-px-72 | scroll-padding-left: 18rem;
scroll-padding-right: 18rem; | <div className="scroll-px-72"></div> |
scroll-py-72 | scroll-padding-top: 18rem;
scroll-padding-bottom: 18rem; | <div className="scroll-py-72"></div> |
scroll-ps-72 | scroll-padding-inline-start: 18rem; | <div className="scroll-ps-72"></div> |
scroll-pe-72 | scroll-padding-inline-end: 18rem; | <div className="scroll-pe-72"></div> |
scroll-pt-72 | scroll-padding-top: 18rem; | <div className="scroll-pt-72"></div> |
scroll-pr-72 | scroll-padding-right: 18rem; | <div className="scroll-pr-72"></div> |
scroll-pb-72 | scroll-padding-bottom: 18rem; | <div className="scroll-pb-72"></div> |
scroll-pl-72 | scroll-padding-left: 18rem; | <div className="scroll-pl-72"></div> |
scroll-p-80 | scroll-padding: 20rem; | <div className="scroll-p-80"></div> |
scroll-px-80 | scroll-padding-left: 20rem;
scroll-padding-right: 20rem; | <div className="scroll-px-80"></div> |
scroll-py-80 | scroll-padding-top: 20rem;
scroll-padding-bottom: 20rem; | <div className="scroll-py-80"></div> |
scroll-ps-80 | scroll-padding-inline-start: 20rem; | <div className="scroll-ps-80"></div> |
scroll-pe-80 | scroll-padding-inline-end: 20rem; | <div className="scroll-pe-80"></div> |
scroll-pt-80 | scroll-padding-top: 20rem; | <div className="scroll-pt-80"></div> |
scroll-pr-80 | scroll-padding-right: 20rem; | <div className="scroll-pr-80"></div> |
scroll-pb-80 | scroll-padding-bottom: 20rem; | <div className="scroll-pb-80"></div> |
scroll-pl-80 | scroll-padding-left: 20rem; | <div className="scroll-pl-80"></div> |
scroll-p-96 | scroll-padding: 24rem; | <div className="scroll-p-96"></div> |
scroll-px-96 | scroll-padding-left: 24rem;
scroll-padding-right: 24rem; | <div className="scroll-px-96"></div> |
scroll-py-96 | scroll-padding-top: 24rem;
scroll-padding-bottom: 24rem; | <div className="scroll-py-96"></div> |
scroll-ps-96 | scroll-padding-inline-start: 24rem; | <div className="scroll-ps-96"></div> |
scroll-pe-96 | scroll-padding-inline-end: 24rem; | <div className="scroll-pe-96"></div> |
scroll-pt-96 | scroll-padding-top: 24rem; | <div className="scroll-pt-96"></div> |
scroll-pr-96 | scroll-padding-right: 24rem; | <div className="scroll-pr-96"></div> |
scroll-pb-96 | scroll-padding-bottom: 24rem; | <div className="scroll-pb-96"></div> |
scroll-pl-96 | scroll-padding-left: 24rem; | <div className="scroll-pl-96"></div> |
Overview of Scroll Padding
Adding the Scroll Padding
To set scroll padding in Tailwind CSS, you can use any of the predefined classes. These classes are appended with numerical values and logical directions such as top (t), left (l), right (r), bottom (b), and all sides (p), e.g., scroll-p-2, scroll-p-3, scroll-p-4, etc.
export default function App() { return <h1>Hello world</h1> }
Leveraging Logical Properties
To set logical scroll padding properties like scroll-padding-inline-start and scroll-padding-inline-end, use the scroll-ps-* and scroll-pe-* utilities. These utilities apply the scroll padding based on the text direction- left to right or right to left.
export default function App() { return <h1>Hello world</h1> }
States and Responsiveness
Hover and Focus States
Tailwind also provides state modifiers to conditionally apply scroll padding. To apply scroll padding on states such as hover or focus, prepend the modifiers to the utilities, e.g., hover:scroll-pt-*, hover:scroll-pb-*, etc.
export default function App() { return <h1>Hello world</h1> }
Breakpoint Modifiers
Tailwind lets you apply scroll padding to different screen sizes by using breakpoint modifiers- sm, md, lg, etc. To apply scroll padding on specific breakpoints, prepend the modifiers to the utilities, e.g., md:scroll-pt-*, lg:scroll-pb-*, etc.
export default function App() { return <h1>Hello world</h1> }
Custom Scroll Padding
You can define scroll padding values outside the default Tailwind configuration using custom themes or arbitrary value utilities to better reflect your design needs.
Extending the Theme
By using the extend key in your Tailwind configuration object, custom scroll padding values can be added to your project. Once configured, you can use these new values:
export default function App() { return <h1>Hello world</h1> }
Using Arbitrary Values
For one-off cases, where predefined utilities are not enough and customizing the theme is too much effort, you can use the arbitrary values. Here, custom values are passed directly in square brackets, making them quick to use without customization in the config file.
export default function App() { return <h1>Hello world</h1> }
Real World Examples
Product Category Navigation
A horizontal scrolling product category navigation with scroll padding to ensure better visibility of items at the edges.
export default function App() { return <h1>Hello world</h1> }
Recipe Steps Carousel
A vertical scrolling carousel showing cooking recipe steps with images and instructions.
export default function App() { return <h1>Hello world</h1> }
Image Gallery
A responsive image gallery with scroll padding for better viewing experience.
export default function App() { return <h1>Hello world</h1> }
Social Media Stories Carousel
A horizontal scrolling carousel for social media stories with profile images and names.
export default function App() { return <h1>Hello world</h1> }
Product Card Carousel
A horizontal scrolling product card carousel with scroll padding for better product visibility.
export default function App() { return <h1>Hello world</h1> }
Customization Examples
Horizontal Image Gallery
A horizontal scrolling image gallery with custom scroll padding on left side.
export default function App() { return <h1>Hello world</h1> }
Vertical Article List
A vertically scrolling article list with custom top scroll padding to account for a fixed header.
export default function App() { return <h1>Hello world</h1> }
Vertical Product Cards with Bottom Scroll Margin
A vertical scrolling product list with bottom padding to ensure the last card is fully visible.
export default function App() { return <h1>Hello world</h1> }
Best Practices
Maintain Design Consistency
When working with scroll padding in Tailwind CSS, it’s crucial to apply uniform padding across related elements to maintain a harmonious look and feel. For example, when dealing with a cards section, ensure the same scroll padding applies to all similar scrollable containers. This prevents misalignment and ensures visual consistency throughout the interface.
Additionally, consider using Tailwind's theme extension to centralize custom scroll padding values, making it easier to reuse and adapt throughout your project. By adhering to consistent spacing guidelines, you ensure an intuitive, aesthetically balanced experience for users navigating your application.
Build Responsive Design
Responsive design plays a vital role in ensuring a seamless user experience across different devices. Tailwind's responsive variants allow developers to adjust scroll-padding dynamically based on screen size. This prevents content from being excessively spaced on smaller screens while maintaining clarity on larger displays.
To implement responsive scroll padding, use variants such as sm:scroll-p-4, md:scroll-p-8, lg:scroll-p-12, etc. This ensures that padding values adapt to different screen widths, optimizing readability and usability. A good approach is setting a baseline padding for mobile devices and scaling it accordingly for desktops.
Accessibility Considerations
Enhance Readability and Navigability
Applying scroll-padding strategically improves both readability and content navigability. When users scroll through a page, properly spaced content ensures that elements remain easy to read without feeling cramped. This is particularly important for long text-based sections where adequate spacing enhances the reading experience.
For navigational elements, scroll-padding can be used to ensure that anchor links do not align too closely to the top of the viewport, which could obscure text under a fixed header.
Ensure Keyboard Accessibility
Keyboard navigation should be prioritized when implementing scroll-padding to ensure that users who navigate with the Tab key can access interactive elements seamlessly. When defining scrollable areas, it’s essential to configure the layout so that focusable elements remain within the viewport.
Using scroll-padding strategically helps align these focusable elements properly. This prevents them from being hidden behind fixed headers or other overlapping content, ensuring that users maintain a clear navigation path. Additionally, testing with keyboard-only navigation tools is also crucial to identify and address any issues with focus positioning in scrollable sections, thereby improving overall accessibility.