Tailwind CSS Margin
Margin refers to the outer space surrounding an element, separating it from adjacent elements. By manipulating the margin values, you can control the arrangement and spacing between components in your layout.
Tailwind CSS provides a wide range of margin utilities that allow developers to manage spacing effectively without writing custom CSS. In this document, we will explore how to leverage these utilities and their applications in creating consistent designs.
| Class | Properties | Example |
|---|---|---|
m-0 | margin: 0px; | <div className="m-0"></div> |
mx-0 | margin-left: 0px;
margin-right: 0px; | <div className="mx-0"></div> |
my-0 | margin-top: 0px;
margin-bottom: 0px; | <div className="my-0"></div> |
ms-0 | margin-inline-start: 0px; | <div className="ms-0"></div> |
me-0 | margin-inline-end: 0px; | <div className="me-0"></div> |
mt-0 | margin-top: 0px; | <div className="mt-0"></div> |
mr-0 | margin-right: 0px; | <div className="mr-0"></div> |
mb-0 | margin-bottom: 0px; | <div className="mb-0"></div> |
ml-0 | margin-left: 0px; | <div className="ml-0"></div> |
m-px | margin: 1px; | <div className="m-px"></div> |
mx-px | margin-left: 1px;
margin-right: 1px; | <div className="mx-px"></div> |
my-px | margin-top: 1px;
margin-bottom: 1px; | <div className="my-px"></div> |
ms-px | margin-inline-start: 1px; | <div className="ms-px"></div> |
me-px | margin-inline-end: 1px; | <div className="me-px"></div> |
mt-px | margin-top: 1px; | <div className="mt-px"></div> |
mr-px | margin-right: 1px; | <div className="mr-px"></div> |
mb-px | margin-bottom: 1px; | <div className="mb-px"></div> |
ml-px | margin-left: 1px; | <div className="ml-px"></div> |
m-0.5 | margin: 0.125rem; | <div className="m-0.5"></div> |
mx-0.5 | margin-left: 0.125rem;
margin-right: 0.125rem; | <div className="mx-0.5"></div> |
my-0.5 | margin-top: 0.125rem;
margin-bottom: 0.125rem; | <div className="my-0.5"></div> |
ms-0.5 | margin-inline-start: 0.125rem; | <div className="ms-0.5"></div> |
me-0.5 | margin-inline-end: 0.125rem; | <div className="me-0.5"></div> |
mt-0.5 | margin-top: 0.125rem; | <div className="mt-0.5"></div> |
mr-0.5 | margin-right: 0.125rem; | <div className="mr-0.5"></div> |
mb-0.5 | margin-bottom: 0.125rem; | <div className="mb-0.5"></div> |
ml-0.5 | margin-left: 0.125rem; | <div className="ml-0.5"></div> |
m-1 | margin: 0.25rem; | <div className="m-1"></div> |
mx-1 | margin-left: 0.25rem;
margin-right: 0.25rem; | <div className="mx-1"></div> |
my-1 | margin-top: 0.25rem;
margin-bottom: 0.25rem; | <div className="my-1"></div> |
ms-1 | margin-inline-start: 0.25rem; | <div className="ms-1"></div> |
me-1 | margin-inline-end: 0.25rem; | <div className="me-1"></div> |
mt-1 | margin-top: 0.25rem; | <div className="mt-1"></div> |
mr-1 | margin-right: 0.25rem; | <div className="mr-1"></div> |
mb-1 | margin-bottom: 0.25rem; | <div className="mb-1"></div> |
ml-1 | margin-left: 0.25rem; | <div className="ml-1"></div> |
m-1.5 | margin: 0.375rem; | <div className="m-1.5"></div> |
mx-1.5 | margin-left: 0.375rem;
margin-right: 0.375rem; | <div className="mx-1.5"></div> |
my-1.5 | margin-top: 0.375rem;
margin-bottom: 0.375rem; | <div className="my-1.5"></div> |
ms-1.5 | margin-inline-start: 0.375rem; | <div className="ms-1.5"></div> |
me-1.5 | margin-inline-end: 0.375rem; | <div className="me-1.5"></div> |
mt-1.5 | margin-top: 0.375rem; | <div className="mt-1.5"></div> |
mr-1.5 | margin-right: 0.375rem; | <div className="mr-1.5"></div> |
mb-1.5 | margin-bottom: 0.375rem; | <div className="mb-1.5"></div> |
ml-1.5 | margin-left: 0.375rem; | <div className="ml-1.5"></div> |
m-2 | margin: 0.5rem; | <div className="m-2"></div> |
mx-2 | margin-left: 0.5rem;
margin-right: 0.5rem; | <div className="mx-2"></div> |
my-2 | margin-top: 0.5rem;
margin-bottom: 0.5rem; | <div className="my-2"></div> |
ms-2 | margin-inline-start: 0.5rem; | <div className="ms-2"></div> |
me-2 | margin-inline-end: 0.5rem; | <div className="me-2"></div> |
mt-2 | margin-top: 0.5rem; | <div className="mt-2"></div> |
mr-2 | margin-right: 0.5rem; | <div className="mr-2"></div> |
mb-2 | margin-bottom: 0.5rem; | <div className="mb-2"></div> |
ml-2 | margin-left: 0.5rem; | <div className="ml-2"></div> |
m-2.5 | margin: 0.625rem; | <div className="m-2.5"></div> |
mx-2.5 | margin-left: 0.625rem;
margin-right: 0.625rem; | <div className="mx-2.5"></div> |
my-2.5 | margin-top: 0.625rem;
margin-bottom: 0.625rem; | <div className="my-2.5"></div> |
ms-2.5 | margin-inline-start: 0.625rem; | <div className="ms-2.5"></div> |
me-2.5 | margin-inline-end: 0.625rem; | <div className="me-2.5"></div> |
mt-2.5 | margin-top: 0.625rem; | <div className="mt-2.5"></div> |
mr-2.5 | margin-right: 0.625rem; | <div className="mr-2.5"></div> |
mb-2.5 | margin-bottom: 0.625rem; | <div className="mb-2.5"></div> |
ml-2.5 | margin-left: 0.625rem; | <div className="ml-2.5"></div> |
m-3 | margin: 0.75rem; | <div className="m-3"></div> |
mx-3 | margin-left: 0.75rem;
margin-right: 0.75rem; | <div className="mx-3"></div> |
my-3 | margin-top: 0.75rem;
margin-bottom: 0.75rem; | <div className="my-3"></div> |
ms-3 | margin-inline-start: 0.75rem; | <div className="ms-3"></div> |
me-3 | margin-inline-end: 0.75rem; | <div className="me-3"></div> |
mt-3 | margin-top: 0.75rem; | <div className="mt-3"></div> |
mr-3 | margin-right: 0.75rem; | <div className="mr-3"></div> |
mb-3 | margin-bottom: 0.75rem; | <div className="mb-3"></div> |
ml-3 | margin-left: 0.75rem; | <div className="ml-3"></div> |
m-3.5 | margin: 0.875rem; | <div className="m-3.5"></div> |
mx-3.5 | margin-left: 0.875rem;
margin-right: 0.875rem; | <div className="mx-3.5"></div> |
my-3.5 | margin-top: 0.875rem;
margin-bottom: 0.875rem; | <div className="my-3.5"></div> |
ms-3.5 | margin-inline-start: 0.875rem; | <div className="ms-3.5"></div> |
me-3.5 | margin-inline-end: 0.875rem; | <div className="me-3.5"></div> |
mt-3.5 | margin-top: 0.875rem; | <div className="mt-3.5"></div> |
mr-3.5 | margin-right: 0.875rem; | <div className="mr-3.5"></div> |
mb-3.5 | margin-bottom: 0.875rem; | <div className="mb-3.5"></div> |
ml-3.5 | margin-left: 0.875rem; | <div className="ml-3.5"></div> |
m-4 | margin: 1rem; | <div className="m-4"></div> |
mx-4 | margin-left: 1rem;
margin-right: 1rem; | <div className="mx-4"></div> |
my-4 | margin-top: 1rem;
margin-bottom: 1rem; | <div className="my-4"></div> |
ms-4 | margin-inline-start: 1rem; | <div className="ms-4"></div> |
me-4 | margin-inline-end: 1rem; | <div className="me-4"></div> |
mt-4 | margin-top: 1rem; | <div className="mt-4"></div> |
mr-4 | margin-right: 1rem; | <div className="mr-4"></div> |
mb-4 | margin-bottom: 1rem; | <div className="mb-4"></div> |
ml-4 | margin-left: 1rem; | <div className="ml-4"></div> |
m-5 | margin: 1.25rem; | <div className="m-5"></div> |
mx-5 | margin-left: 1.25rem;
margin-right: 1.25rem; | <div className="mx-5"></div> |
my-5 | margin-top: 1.25rem;
margin-bottom: 1.25rem; | <div className="my-5"></div> |
ms-5 | margin-inline-start: 1.25rem; | <div className="ms-5"></div> |
me-5 | margin-inline-end: 1.25rem; | <div className="me-5"></div> |
mt-5 | margin-top: 1.25rem; | <div className="mt-5"></div> |
mr-5 | margin-right: 1.25rem; | <div className="mr-5"></div> |
mb-5 | margin-bottom: 1.25rem; | <div className="mb-5"></div> |
ml-5 | margin-left: 1.25rem; | <div className="ml-5"></div> |
m-6 | margin: 1.5rem; | <div className="m-6"></div> |
mx-6 | margin-left: 1.5rem;
margin-right: 1.5rem; | <div className="mx-6"></div> |
my-6 | margin-top: 1.5rem;
margin-bottom: 1.5rem; | <div className="my-6"></div> |
ms-6 | margin-inline-start: 1.5rem; | <div className="ms-6"></div> |
me-6 | margin-inline-end: 1.5rem; | <div className="me-6"></div> |
mt-6 | margin-top: 1.5rem; | <div className="mt-6"></div> |
mr-6 | margin-right: 1.5rem; | <div className="mr-6"></div> |
mb-6 | margin-bottom: 1.5rem; | <div className="mb-6"></div> |
ml-6 | margin-left: 1.5rem; | <div className="ml-6"></div> |
m-7 | margin: 1.75rem; | <div className="m-7"></div> |
mx-7 | margin-left: 1.75rem;
margin-right: 1.75rem; | <div className="mx-7"></div> |
my-7 | margin-top: 1.75rem;
margin-bottom: 1.75rem; | <div className="my-7"></div> |
ms-7 | margin-inline-start: 1.75rem; | <div className="ms-7"></div> |
me-7 | margin-inline-end: 1.75rem; | <div className="me-7"></div> |
mt-7 | margin-top: 1.75rem; | <div className="mt-7"></div> |
mr-7 | margin-right: 1.75rem; | <div className="mr-7"></div> |
mb-7 | margin-bottom: 1.75rem; | <div className="mb-7"></div> |
ml-7 | margin-left: 1.75rem; | <div className="ml-7"></div> |
m-8 | margin: 2rem; | <div className="m-8"></div> |
mx-8 | margin-left: 2rem;
margin-right: 2rem; | <div className="mx-8"></div> |
my-8 | margin-top: 2rem;
margin-bottom: 2rem; | <div className="my-8"></div> |
ms-8 | margin-inline-start: 2rem; | <div className="ms-8"></div> |
me-8 | margin-inline-end: 2rem; | <div className="me-8"></div> |
mt-8 | margin-top: 2rem; | <div className="mt-8"></div> |
mr-8 | margin-right: 2rem; | <div className="mr-8"></div> |
mb-8 | margin-bottom: 2rem; | <div className="mb-8"></div> |
ml-8 | margin-left: 2rem; | <div className="ml-8"></div> |
m-9 | margin: 2.25rem; | <div className="m-9"></div> |
mx-9 | margin-left: 2.25rem;
margin-right: 2.25rem; | <div className="mx-9"></div> |
my-9 | margin-top: 2.25rem;
margin-bottom: 2.25rem; | <div className="my-9"></div> |
ms-9 | margin-inline-start: 2.25rem; | <div className="ms-9"></div> |
me-9 | margin-inline-end: 2.25rem; | <div className="me-9"></div> |
mt-9 | margin-top: 2.25rem; | <div className="mt-9"></div> |
mr-9 | margin-right: 2.25rem; | <div className="mr-9"></div> |
mb-9 | margin-bottom: 2.25rem; | <div className="mb-9"></div> |
ml-9 | margin-left: 2.25rem; | <div className="ml-9"></div> |
m-10 | margin: 2.5rem; | <div className="m-10"></div> |
mx-10 | margin-left: 2.5rem;
margin-right: 2.5rem; | <div className="mx-10"></div> |
my-10 | margin-top: 2.5rem;
margin-bottom: 2.5rem; | <div className="my-10"></div> |
ms-10 | margin-inline-start: 2.5rem; | <div className="ms-10"></div> |
me-10 | margin-inline-end: 2.5rem; | <div className="me-10"></div> |
mt-10 | margin-top: 2.5rem; | <div className="mt-10"></div> |
mr-10 | margin-right: 2.5rem; | <div className="mr-10"></div> |
mb-10 | margin-bottom: 2.5rem; | <div className="mb-10"></div> |
ml-10 | margin-left: 2.5rem; | <div className="ml-10"></div> |
m-11 | margin: 2.75rem; | <div className="m-11"></div> |
mx-11 | margin-left: 2.75rem;
margin-right: 2.75rem; | <div className="mx-11"></div> |
my-11 | margin-top: 2.75rem;
margin-bottom: 2.75rem; | <div className="my-11"></div> |
ms-11 | margin-inline-start: 2.75rem; | <div className="ms-11"></div> |
me-11 | margin-inline-end: 2.75rem; | <div className="me-11"></div> |
mt-11 | margin-top: 2.75rem; | <div className="mt-11"></div> |
mr-11 | margin-right: 2.75rem; | <div className="mr-11"></div> |
mb-11 | margin-bottom: 2.75rem; | <div className="mb-11"></div> |
ml-11 | margin-left: 2.75rem; | <div className="ml-11"></div> |
m-12 | margin: 3rem; | <div className="m-12"></div> |
mx-12 | margin-left: 3rem;
margin-right: 3rem; | <div className="mx-12"></div> |
my-12 | margin-top: 3rem;
margin-bottom: 3rem; | <div className="my-12"></div> |
ms-12 | margin-inline-start: 3rem; | <div className="ms-12"></div> |
me-12 | margin-inline-end: 3rem; | <div className="me-12"></div> |
mt-12 | margin-top: 3rem; | <div className="mt-12"></div> |
mr-12 | margin-right: 3rem; | <div className="mr-12"></div> |
mb-12 | margin-bottom: 3rem; | <div className="mb-12"></div> |
ml-12 | margin-left: 3rem; | <div className="ml-12"></div> |
m-14 | margin: 3.5rem; | <div className="m-14"></div> |
mx-14 | margin-left: 3.5rem;
margin-right: 3.5rem; | <div className="mx-14"></div> |
my-14 | margin-top: 3.5rem;
margin-bottom: 3.5rem; | <div className="my-14"></div> |
ms-14 | margin-inline-start: 3.5rem; | <div className="ms-14"></div> |
me-14 | margin-inline-end: 3.5rem; | <div className="me-14"></div> |
mt-14 | margin-top: 3.5rem; | <div className="mt-14"></div> |
mr-14 | margin-right: 3.5rem; | <div className="mr-14"></div> |
mb-14 | margin-bottom: 3.5rem; | <div className="mb-14"></div> |
ml-14 | margin-left: 3.5rem; | <div className="ml-14"></div> |
m-16 | margin: 4rem; | <div className="m-16"></div> |
mx-16 | margin-left: 4rem;
margin-right: 4rem; | <div className="mx-16"></div> |
my-16 | margin-top: 4rem;
margin-bottom: 4rem; | <div className="my-16"></div> |
ms-16 | margin-inline-start: 4rem; | <div className="ms-16"></div> |
me-16 | margin-inline-end: 4rem; | <div className="me-16"></div> |
mt-16 | margin-top: 4rem; | <div className="mt-16"></div> |
mr-16 | margin-right: 4rem; | <div className="mr-16"></div> |
mb-16 | margin-bottom: 4rem; | <div className="mb-16"></div> |
ml-16 | margin-left: 4rem; | <div className="ml-16"></div> |
m-20 | margin: 5rem; | <div className="m-20"></div> |
mx-20 | margin-left: 5rem;
margin-right: 5rem; | <div className="mx-20"></div> |
my-20 | margin-top: 5rem;
margin-bottom: 5rem; | <div className="my-20"></div> |
ms-20 | margin-inline-start: 5rem; | <div className="ms-20"></div> |
me-20 | margin-inline-end: 5rem; | <div className="me-20"></div> |
mt-20 | margin-top: 5rem; | <div className="mt-20"></div> |
mr-20 | margin-right: 5rem; | <div className="mr-20"></div> |
mb-20 | margin-bottom: 5rem; | <div className="mb-20"></div> |
ml-20 | margin-left: 5rem; | <div className="ml-20"></div> |
m-24 | margin: 6rem; | <div className="m-24"></div> |
mx-24 | margin-left: 6rem;
margin-right: 6rem; | <div className="mx-24"></div> |
my-24 | margin-top: 6rem;
margin-bottom: 6rem; | <div className="my-24"></div> |
ms-24 | margin-inline-start: 6rem; | <div className="ms-24"></div> |
me-24 | margin-inline-end: 6rem; | <div className="me-24"></div> |
mt-24 | margin-top: 6rem; | <div className="mt-24"></div> |
mr-24 | margin-right: 6rem; | <div className="mr-24"></div> |
mb-24 | margin-bottom: 6rem; | <div className="mb-24"></div> |
ml-24 | margin-left: 6rem; | <div className="ml-24"></div> |
m-28 | margin: 7rem; | <div className="m-28"></div> |
mx-28 | margin-left: 7rem;
margin-right: 7rem; | <div className="mx-28"></div> |
my-28 | margin-top: 7rem;
margin-bottom: 7rem; | <div className="my-28"></div> |
ms-28 | margin-inline-start: 7rem; | <div className="ms-28"></div> |
me-28 | margin-inline-end: 7rem; | <div className="me-28"></div> |
mt-28 | margin-top: 7rem; | <div className="mt-28"></div> |
mr-28 | margin-right: 7rem; | <div className="mr-28"></div> |
mb-28 | margin-bottom: 7rem; | <div className="mb-28"></div> |
ml-28 | margin-left: 7rem; | <div className="ml-28"></div> |
m-32 | margin: 8rem; | <div className="m-32"></div> |
mx-32 | margin-left: 8rem;
margin-right: 8rem; | <div className="mx-32"></div> |
my-32 | margin-top: 8rem;
margin-bottom: 8rem; | <div className="my-32"></div> |
ms-32 | margin-inline-start: 8rem; | <div className="ms-32"></div> |
me-32 | margin-inline-end: 8rem; | <div className="me-32"></div> |
mt-32 | margin-top: 8rem; | <div className="mt-32"></div> |
mr-32 | margin-right: 8rem; | <div className="mr-32"></div> |
mb-32 | margin-bottom: 8rem; | <div className="mb-32"></div> |
ml-32 | margin-left: 8rem; | <div className="ml-32"></div> |
m-36 | margin: 9rem; | <div className="m-36"></div> |
mx-36 | margin-left: 9rem;
margin-right: 9rem; | <div className="mx-36"></div> |
my-36 | margin-top: 9rem;
margin-bottom: 9rem; | <div className="my-36"></div> |
ms-36 | margin-inline-start: 9rem; | <div className="ms-36"></div> |
me-36 | margin-inline-end: 9rem; | <div className="me-36"></div> |
mt-36 | margin-top: 9rem; | <div className="mt-36"></div> |
mr-36 | margin-right: 9rem; | <div className="mr-36"></div> |
mb-36 | margin-bottom: 9rem; | <div className="mb-36"></div> |
ml-36 | margin-left: 9rem; | <div className="ml-36"></div> |
m-40 | margin: 10rem; | <div className="m-40"></div> |
mx-40 | margin-left: 10rem;
margin-right: 10rem; | <div className="mx-40"></div> |
my-40 | margin-top: 10rem;
margin-bottom: 10rem; | <div className="my-40"></div> |
ms-40 | margin-inline-start: 10rem; | <div className="ms-40"></div> |
me-40 | margin-inline-end: 10rem; | <div className="me-40"></div> |
mt-40 | margin-top: 10rem; | <div className="mt-40"></div> |
mr-40 | margin-right: 10rem; | <div className="mr-40"></div> |
mb-40 | margin-bottom: 10rem; | <div className="mb-40"></div> |
ml-40 | margin-left: 10rem; | <div className="ml-40"></div> |
m-44 | margin: 11rem; | <div className="m-44"></div> |
mx-44 | margin-left: 11rem;
margin-right: 11rem; | <div className="mx-44"></div> |
my-44 | margin-top: 11rem;
margin-bottom: 11rem; | <div className="my-44"></div> |
ms-44 | margin-inline-start: 11rem; | <div className="ms-44"></div> |
me-44 | margin-inline-end: 11rem; | <div className="me-44"></div> |
mt-44 | margin-top: 11rem; | <div className="mt-44"></div> |
mr-44 | margin-right: 11rem; | <div className="mr-44"></div> |
mb-44 | margin-bottom: 11rem; | <div className="mb-44"></div> |
ml-44 | margin-left: 11rem; | <div className="ml-44"></div> |
m-48 | margin: 12rem; | <div className="m-48"></div> |
mx-48 | margin-left: 12rem;
margin-right: 12rem; | <div className="mx-48"></div> |
my-48 | margin-top: 12rem;
margin-bottom: 12rem; | <div className="my-48"></div> |
ms-48 | margin-inline-start: 12rem; | <div className="ms-48"></div> |
me-48 | margin-inline-end: 12rem; | <div className="me-48"></div> |
mt-48 | margin-top: 12rem; | <div className="mt-48"></div> |
mr-48 | margin-right: 12rem; | <div className="mr-48"></div> |
mb-48 | margin-bottom: 12rem; | <div className="mb-48"></div> |
ml-48 | margin-left: 12rem; | <div className="ml-48"></div> |
m-52 | margin: 13rem; | <div className="m-52"></div> |
mx-52 | margin-left: 13rem;
margin-right: 13rem; | <div className="mx-52"></div> |
my-52 | margin-top: 13rem;
margin-bottom: 13rem; | <div className="my-52"></div> |
ms-52 | margin-inline-start: 13rem; | <div className="ms-52"></div> |
me-52 | margin-inline-end: 13rem; | <div className="me-52"></div> |
mt-52 | margin-top: 13rem; | <div className="mt-52"></div> |
mr-52 | margin-right: 13rem; | <div className="mr-52"></div> |
mb-52 | margin-bottom: 13rem; | <div className="mb-52"></div> |
ml-52 | margin-left: 13rem; | <div className="ml-52"></div> |
m-56 | margin: 14rem; | <div className="m-56"></div> |
mx-56 | margin-left: 14rem;
margin-right: 14rem; | <div className="mx-56"></div> |
my-56 | margin-top: 14rem;
margin-bottom: 14rem; | <div className="my-56"></div> |
ms-56 | margin-inline-start: 14rem; | <div className="ms-56"></div> |
me-56 | margin-inline-end: 14rem; | <div className="me-56"></div> |
mt-56 | margin-top: 14rem; | <div className="mt-56"></div> |
mr-56 | margin-right: 14rem; | <div className="mr-56"></div> |
mb-56 | margin-bottom: 14rem; | <div className="mb-56"></div> |
ml-56 | margin-left: 14rem; | <div className="ml-56"></div> |
m-60 | margin: 15rem; | <div className="m-60"></div> |
mx-60 | margin-left: 15rem;
margin-right: 15rem; | <div className="mx-60"></div> |
my-60 | margin-top: 15rem;
margin-bottom: 15rem; | <div className="my-60"></div> |
ms-60 | margin-inline-start: 15rem; | <div className="ms-60"></div> |
me-60 | margin-inline-end: 15rem; | <div className="me-60"></div> |
mt-60 | margin-top: 15rem; | <div className="mt-60"></div> |
mr-60 | margin-right: 15rem; | <div className="mr-60"></div> |
mb-60 | margin-bottom: 15rem; | <div className="mb-60"></div> |
ml-60 | margin-left: 15rem; | <div className="ml-60"></div> |
m-64 | margin: 16rem; | <div className="m-64"></div> |
mx-64 | margin-left: 16rem;
margin-right: 16rem; | <div className="mx-64"></div> |
my-64 | margin-top: 16rem;
margin-bottom: 16rem; | <div className="my-64"></div> |
ms-64 | margin-inline-start: 16rem; | <div className="ms-64"></div> |
me-64 | margin-inline-end: 16rem; | <div className="me-64"></div> |
mt-64 | margin-top: 16rem; | <div className="mt-64"></div> |
mr-64 | margin-right: 16rem; | <div className="mr-64"></div> |
mb-64 | margin-bottom: 16rem; | <div className="mb-64"></div> |
ml-64 | margin-left: 16rem; | <div className="ml-64"></div> |
m-72 | margin: 18rem; | <div className="m-72"></div> |
mx-72 | margin-left: 18rem;
margin-right: 18rem; | <div className="mx-72"></div> |
my-72 | margin-top: 18rem;
margin-bottom: 18rem; | <div className="my-72"></div> |
ms-72 | margin-inline-start: 18rem; | <div className="ms-72"></div> |
me-72 | margin-inline-end: 18rem; | <div className="me-72"></div> |
mt-72 | margin-top: 18rem; | <div className="mt-72"></div> |
mr-72 | margin-right: 18rem; | <div className="mr-72"></div> |
mb-72 | margin-bottom: 18rem; | <div className="mb-72"></div> |
ml-72 | margin-left: 18rem; | <div className="ml-72"></div> |
m-80 | margin: 20rem; | <div className="m-80"></div> |
mx-80 | margin-left: 20rem;
margin-right: 20rem; | <div className="mx-80"></div> |
my-80 | margin-top: 20rem;
margin-bottom: 20rem; | <div className="my-80"></div> |
ms-80 | margin-inline-start: 20rem; | <div className="ms-80"></div> |
me-80 | margin-inline-end: 20rem; | <div className="me-80"></div> |
mt-80 | margin-top: 20rem; | <div className="mt-80"></div> |
mr-80 | margin-right: 20rem; | <div className="mr-80"></div> |
mb-80 | margin-bottom: 20rem; | <div className="mb-80"></div> |
ml-80 | margin-left: 20rem; | <div className="ml-80"></div> |
m-96 | margin: 24rem; | <div className="m-96"></div> |
mx-96 | margin-left: 24rem;
margin-right: 24rem; | <div className="mx-96"></div> |
my-96 | margin-top: 24rem;
margin-bottom: 24rem; | <div className="my-96"></div> |
ms-96 | margin-inline-start: 24rem; | <div className="ms-96"></div> |
me-96 | margin-inline-end: 24rem; | <div className="me-96"></div> |
mt-96 | margin-top: 24rem; | <div className="mt-96"></div> |
mr-96 | margin-right: 24rem; | <div className="mr-96"></div> |
mb-96 | margin-bottom: 24rem; | <div className="mb-96"></div> |
ml-96 | margin-left: 24rem; | <div className="ml-96"></div> |
m-auto | margin: auto; | <div className="m-auto"></div> |
mx-auto | margin-left: auto;
margin-right: auto; | <div className="mx-auto"></div> |
my-auto | margin-top: auto;
margin-bottom: auto; | <div className="my-auto"></div> |
ms-auto | margin-inline-start: auto; | <div className="ms-auto"></div> |
me-auto | margin-inline-end: auto; | <div className="me-auto"></div> |
mt-auto | margin-top: auto; | <div className="mt-auto"></div> |
mr-auto | margin-right: auto; | <div className="mr-auto"></div> |
mb-auto | margin-bottom: auto; | <div className="mb-auto"></div> |
ml-auto | margin-left: auto; | <div className="ml-auto"></div> |
Overview of Margin
Adding a Single Side Margin
You can specify margin styling to only one side of the element (top, right, bottom, left). This level of granular control is especially useful when adjusting spacing for elements that interact visually from specific directions.
mt-*, mr-*, mb-*, and ml-* designate margin on the top, right, bottom, and left sides.
export default function App() { return <h1>Hello world</h1> }
Adding Margin on Left and Right
By using horizontal margin utilities, you can define a unified gap between elements on both the left and right. The mx-* utility designate margin on both left and right side collectively.
export default function App() { return <h1>Hello world</h1> }
Adding Margin on Top and Bottom
By using vertical margin utilities, you can define a unified gap between elements on both the top and bottom. The my-* utility designate margin on both top and bottom side collectively.
export default function App() { return <h1>Hello world</h1> }
Adding Margin on All Sides
Tailwind also has an universal utility for top, right, bottom, and left margins to create consistent spacing across all edges of an element.
export default function App() { return <h1>Hello world</h1> }
Adding Negative Margins
Negative margin values move elements opposite. A negative margin-left will move the element towards left instead of right.
export default function App() { return <h1>Hello world</h1> }
Logical Margins for Internationalization
Logical properties, such as margin-inline-start and margin-inline-end, provide a powerful way to create bidirectional (RTL and LTR) text flow in multilingual layouts. These properties replace traditional physical properties (margin-left, margin-right) with context-aware values that adapt to the writing direction of the language.
export default function App() { return <h1>Hello world</h1> }
States and Responsiveness
Tailwind also support modifiers to dynamically add margin values based on states and breakpoints.
Hover and Focus States
Margin utilities can adapt dynamically based on the element state such as hover, focus, or active.
export default function App() { return <h1>Hello world</h1> }
Breakpoint Modifiers
Margin can be applied to specific breakpoints using Tailwind modifiers to create responsive designs.
export default function App() { return <h1>Hello world</h1> }
Custom Margin
Extending the Theme
You can also extend the tailwind theme to custom margin values.
export default function App() { return <h1>Hello world</h1> }
Using Arbitrary Values
For one-off edge cases, margins can support arbitrary values. It helps to prevent overcomplicating reusable variable setups.
export default function App() { return <h1>Hello world</h1> }
Real World Examples
Product Grid with Dynamic Spacing
A responsive product grid layout with proper margin spacing between items and sections.
export default function App() { return <h1>Hello world</h1> }
Blog Post Cards with Consistent Spacing
Blog post cards with proper margin spacing for content hierarchy.
export default function App() { return <h1>Hello world</h1> }
Team Member Profile Cards
Profile cards with consistent margin spacing for team member showcase.
export default function App() { return <h1>Hello world</h1> }
Feature Section with Icons
Feature showcase with proper margin spacing between elements.
export default function App() { return <h1>Hello world</h1> }
Pricing Cards with Margin Spacing
Pricing plan cards with consistent margin spacing between elements.
export default function App() { return <h1>Hello world</h1> }
Customization Examples
Custom Margin Scale for Product Cards
This example demonstrates how to customize margin scales for a responsive product grid layout.
export default function App() { return <h1>Hello world</h1> }
Dynamic Blog Post Spacing
This example shows how to implement custom margins for blog post layouts with different spacing requirements.
export default function App() { return <h1>Hello world</h1> }
Dashboard Widget Spacing
This example demonstrates custom margin utilities for dashboard widget layouts.
export default function App() { return <h1>Hello world</h1> }
Best Practices
Maintain Design Consistency
When working with margins in Tailwind CSS, group similar margin utilities together. For instance, if your project uses m-4 for margin between cards, ensure uniformity across layout sections by applying the same class across similar use cases. This approach avoids arbitrary spacing and supports a cohesive design system.
Leverage Utility Combinations
Tailwind CSS encourages combining utilities to minimize redundancy and achieve precise styles. For example, when building a card layout combine utilities of padding along with margin to ensure that the spacing ratios complement each other.
Complement margins with other layout properties like flexbox and grid to add gap-* and space-* utilities within the layout. This reduces the need for custom CSS while providing a modular, maintainable approach to design.
Below is an example of using margin and padding utilities to build a card layout:
export default function App() { return <h1>Hello world</h1> }
Accessibility Considerations
Enhance Readability and Navigability
Margins play a pivotal role in separating UI components, enhancing the visual reading flow. Proper horizontal margins, such as mx-*, can group connected elements while still maintaining readable spacing. Similar vertical spacing, achieved through my-* utilities, guides users naturally through the content flow without creating visual clutter.
Overcrowded content often affects users with cognitive challenges, making it harder for them to follow sequences. Proper spacing ensures breathing room between headers, content, and UI elements, adding clarity to text-heavy interfaces and improving navigation across your site.
Support Accessible Interactive Elements
Interactive components, such as buttons or menus, require spacing clarity for usability. Apply margin utilities properly to ensure clickable areas are visually distinct from adjacent elements. By doing this, you reduce accidental clicks and improve users' ability to navigate interfaces seamlessly.
Debugging Common Issues
Resolve Common Problems
Issues like unintended inconsistent spacing often stem from incorrect margin utilities. For example, overlapped margins on sibling elements can cause uneven gaps. You can address this by using the space-* utilities, which define symmetric gaps between child elements without relying solely on m-*. This utility significantly eases debugging by visibly aligning content across vertical or horizontal axis.
export default function App() { return <h1>Hello world</h1> }
Handle Nested Element Challenges
Wrap deeply nested elements within clear containers to encapsulate their behavior. These wrappers allow easier debugging using browser dev tools while ensuring logical borders for margin properties distributed hierarchically.