Kombai Logo

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.

ClassPropertiesExample
m-0margin: 0px;<div className="m-0"></div>
mx-0margin-left: 0px; margin-right: 0px;<div className="mx-0"></div>
my-0margin-top: 0px; margin-bottom: 0px;<div className="my-0"></div>
ms-0margin-inline-start: 0px;<div className="ms-0"></div>
me-0margin-inline-end: 0px;<div className="me-0"></div>
mt-0margin-top: 0px;<div className="mt-0"></div>
mr-0margin-right: 0px;<div className="mr-0"></div>
mb-0margin-bottom: 0px;<div className="mb-0"></div>
ml-0margin-left: 0px;<div className="ml-0"></div>
m-pxmargin: 1px;<div className="m-px"></div>
mx-pxmargin-left: 1px; margin-right: 1px;<div className="mx-px"></div>
my-pxmargin-top: 1px; margin-bottom: 1px;<div className="my-px"></div>
ms-pxmargin-inline-start: 1px;<div className="ms-px"></div>
me-pxmargin-inline-end: 1px;<div className="me-px"></div>
mt-pxmargin-top: 1px;<div className="mt-px"></div>
mr-pxmargin-right: 1px;<div className="mr-px"></div>
mb-pxmargin-bottom: 1px;<div className="mb-px"></div>
ml-pxmargin-left: 1px;<div className="ml-px"></div>
m-0.5margin: 0.125rem; <div className="m-0.5"></div>
mx-0.5margin-left: 0.125rem; margin-right: 0.125rem; <div className="mx-0.5"></div>
my-0.5margin-top: 0.125rem; margin-bottom: 0.125rem; <div className="my-0.5"></div>
ms-0.5margin-inline-start: 0.125rem; <div className="ms-0.5"></div>
me-0.5margin-inline-end: 0.125rem; <div className="me-0.5"></div>
mt-0.5margin-top: 0.125rem; <div className="mt-0.5"></div>
mr-0.5margin-right: 0.125rem; <div className="mr-0.5"></div>
mb-0.5margin-bottom: 0.125rem; <div className="mb-0.5"></div>
ml-0.5margin-left: 0.125rem; <div className="ml-0.5"></div>
m-1margin: 0.25rem; <div className="m-1"></div>
mx-1margin-left: 0.25rem; margin-right: 0.25rem; <div className="mx-1"></div>
my-1margin-top: 0.25rem; margin-bottom: 0.25rem; <div className="my-1"></div>
ms-1margin-inline-start: 0.25rem; <div className="ms-1"></div>
me-1margin-inline-end: 0.25rem; <div className="me-1"></div>
mt-1margin-top: 0.25rem; <div className="mt-1"></div>
mr-1margin-right: 0.25rem; <div className="mr-1"></div>
mb-1margin-bottom: 0.25rem; <div className="mb-1"></div>
ml-1margin-left: 0.25rem; <div className="ml-1"></div>
m-1.5margin: 0.375rem; <div className="m-1.5"></div>
mx-1.5margin-left: 0.375rem; margin-right: 0.375rem; <div className="mx-1.5"></div>
my-1.5margin-top: 0.375rem; margin-bottom: 0.375rem; <div className="my-1.5"></div>
ms-1.5margin-inline-start: 0.375rem; <div className="ms-1.5"></div>
me-1.5margin-inline-end: 0.375rem; <div className="me-1.5"></div>
mt-1.5margin-top: 0.375rem; <div className="mt-1.5"></div>
mr-1.5margin-right: 0.375rem; <div className="mr-1.5"></div>
mb-1.5margin-bottom: 0.375rem; <div className="mb-1.5"></div>
ml-1.5margin-left: 0.375rem; <div className="ml-1.5"></div>
m-2margin: 0.5rem; <div className="m-2"></div>
mx-2margin-left: 0.5rem; margin-right: 0.5rem; <div className="mx-2"></div>
my-2margin-top: 0.5rem; margin-bottom: 0.5rem; <div className="my-2"></div>
ms-2margin-inline-start: 0.5rem; <div className="ms-2"></div>
me-2margin-inline-end: 0.5rem; <div className="me-2"></div>
mt-2margin-top: 0.5rem; <div className="mt-2"></div>
mr-2margin-right: 0.5rem; <div className="mr-2"></div>
mb-2margin-bottom: 0.5rem; <div className="mb-2"></div>
ml-2margin-left: 0.5rem; <div className="ml-2"></div>
m-2.5margin: 0.625rem; <div className="m-2.5"></div>
mx-2.5margin-left: 0.625rem; margin-right: 0.625rem; <div className="mx-2.5"></div>
my-2.5margin-top: 0.625rem; margin-bottom: 0.625rem; <div className="my-2.5"></div>
ms-2.5margin-inline-start: 0.625rem; <div className="ms-2.5"></div>
me-2.5margin-inline-end: 0.625rem; <div className="me-2.5"></div>
mt-2.5margin-top: 0.625rem; <div className="mt-2.5"></div>
mr-2.5margin-right: 0.625rem; <div className="mr-2.5"></div>
mb-2.5margin-bottom: 0.625rem; <div className="mb-2.5"></div>
ml-2.5margin-left: 0.625rem; <div className="ml-2.5"></div>
m-3margin: 0.75rem; <div className="m-3"></div>
mx-3margin-left: 0.75rem; margin-right: 0.75rem; <div className="mx-3"></div>
my-3margin-top: 0.75rem; margin-bottom: 0.75rem; <div className="my-3"></div>
ms-3margin-inline-start: 0.75rem; <div className="ms-3"></div>
me-3margin-inline-end: 0.75rem; <div className="me-3"></div>
mt-3margin-top: 0.75rem; <div className="mt-3"></div>
mr-3margin-right: 0.75rem; <div className="mr-3"></div>
mb-3margin-bottom: 0.75rem; <div className="mb-3"></div>
ml-3margin-left: 0.75rem; <div className="ml-3"></div>
m-3.5margin: 0.875rem; <div className="m-3.5"></div>
mx-3.5margin-left: 0.875rem; margin-right: 0.875rem; <div className="mx-3.5"></div>
my-3.5margin-top: 0.875rem; margin-bottom: 0.875rem; <div className="my-3.5"></div>
ms-3.5margin-inline-start: 0.875rem; <div className="ms-3.5"></div>
me-3.5margin-inline-end: 0.875rem; <div className="me-3.5"></div>
mt-3.5margin-top: 0.875rem; <div className="mt-3.5"></div>
mr-3.5margin-right: 0.875rem; <div className="mr-3.5"></div>
mb-3.5margin-bottom: 0.875rem; <div className="mb-3.5"></div>
ml-3.5margin-left: 0.875rem; <div className="ml-3.5"></div>
m-4margin: 1rem; <div className="m-4"></div>
mx-4margin-left: 1rem; margin-right: 1rem; <div className="mx-4"></div>
my-4margin-top: 1rem; margin-bottom: 1rem; <div className="my-4"></div>
ms-4margin-inline-start: 1rem; <div className="ms-4"></div>
me-4margin-inline-end: 1rem; <div className="me-4"></div>
mt-4margin-top: 1rem; <div className="mt-4"></div>
mr-4margin-right: 1rem; <div className="mr-4"></div>
mb-4margin-bottom: 1rem; <div className="mb-4"></div>
ml-4margin-left: 1rem; <div className="ml-4"></div>
m-5margin: 1.25rem; <div className="m-5"></div>
mx-5margin-left: 1.25rem; margin-right: 1.25rem; <div className="mx-5"></div>
my-5margin-top: 1.25rem; margin-bottom: 1.25rem; <div className="my-5"></div>
ms-5margin-inline-start: 1.25rem; <div className="ms-5"></div>
me-5margin-inline-end: 1.25rem; <div className="me-5"></div>
mt-5margin-top: 1.25rem; <div className="mt-5"></div>
mr-5margin-right: 1.25rem; <div className="mr-5"></div>
mb-5margin-bottom: 1.25rem; <div className="mb-5"></div>
ml-5margin-left: 1.25rem; <div className="ml-5"></div>
m-6margin: 1.5rem; <div className="m-6"></div>
mx-6margin-left: 1.5rem; margin-right: 1.5rem; <div className="mx-6"></div>
my-6margin-top: 1.5rem; margin-bottom: 1.5rem; <div className="my-6"></div>
ms-6margin-inline-start: 1.5rem; <div className="ms-6"></div>
me-6margin-inline-end: 1.5rem; <div className="me-6"></div>
mt-6margin-top: 1.5rem; <div className="mt-6"></div>
mr-6margin-right: 1.5rem; <div className="mr-6"></div>
mb-6margin-bottom: 1.5rem; <div className="mb-6"></div>
ml-6margin-left: 1.5rem; <div className="ml-6"></div>
m-7margin: 1.75rem; <div className="m-7"></div>
mx-7margin-left: 1.75rem; margin-right: 1.75rem; <div className="mx-7"></div>
my-7margin-top: 1.75rem; margin-bottom: 1.75rem; <div className="my-7"></div>
ms-7margin-inline-start: 1.75rem; <div className="ms-7"></div>
me-7margin-inline-end: 1.75rem; <div className="me-7"></div>
mt-7margin-top: 1.75rem; <div className="mt-7"></div>
mr-7margin-right: 1.75rem; <div className="mr-7"></div>
mb-7margin-bottom: 1.75rem; <div className="mb-7"></div>
ml-7margin-left: 1.75rem; <div className="ml-7"></div>
m-8margin: 2rem; <div className="m-8"></div>
mx-8margin-left: 2rem; margin-right: 2rem; <div className="mx-8"></div>
my-8margin-top: 2rem; margin-bottom: 2rem; <div className="my-8"></div>
ms-8margin-inline-start: 2rem; <div className="ms-8"></div>
me-8margin-inline-end: 2rem; <div className="me-8"></div>
mt-8margin-top: 2rem; <div className="mt-8"></div>
mr-8margin-right: 2rem; <div className="mr-8"></div>
mb-8margin-bottom: 2rem; <div className="mb-8"></div>
ml-8margin-left: 2rem; <div className="ml-8"></div>
m-9margin: 2.25rem; <div className="m-9"></div>
mx-9margin-left: 2.25rem; margin-right: 2.25rem; <div className="mx-9"></div>
my-9margin-top: 2.25rem; margin-bottom: 2.25rem; <div className="my-9"></div>
ms-9margin-inline-start: 2.25rem; <div className="ms-9"></div>
me-9margin-inline-end: 2.25rem; <div className="me-9"></div>
mt-9margin-top: 2.25rem; <div className="mt-9"></div>
mr-9margin-right: 2.25rem; <div className="mr-9"></div>
mb-9margin-bottom: 2.25rem; <div className="mb-9"></div>
ml-9margin-left: 2.25rem; <div className="ml-9"></div>
m-10margin: 2.5rem; <div className="m-10"></div>
mx-10margin-left: 2.5rem; margin-right: 2.5rem; <div className="mx-10"></div>
my-10margin-top: 2.5rem; margin-bottom: 2.5rem; <div className="my-10"></div>
ms-10margin-inline-start: 2.5rem; <div className="ms-10"></div>
me-10margin-inline-end: 2.5rem; <div className="me-10"></div>
mt-10margin-top: 2.5rem; <div className="mt-10"></div>
mr-10margin-right: 2.5rem; <div className="mr-10"></div>
mb-10margin-bottom: 2.5rem; <div className="mb-10"></div>
ml-10margin-left: 2.5rem; <div className="ml-10"></div>
m-11margin: 2.75rem; <div className="m-11"></div>
mx-11margin-left: 2.75rem; margin-right: 2.75rem; <div className="mx-11"></div>
my-11margin-top: 2.75rem; margin-bottom: 2.75rem; <div className="my-11"></div>
ms-11margin-inline-start: 2.75rem; <div className="ms-11"></div>
me-11margin-inline-end: 2.75rem; <div className="me-11"></div>
mt-11margin-top: 2.75rem; <div className="mt-11"></div>
mr-11margin-right: 2.75rem; <div className="mr-11"></div>
mb-11margin-bottom: 2.75rem; <div className="mb-11"></div>
ml-11margin-left: 2.75rem; <div className="ml-11"></div>
m-12margin: 3rem; <div className="m-12"></div>
mx-12margin-left: 3rem; margin-right: 3rem; <div className="mx-12"></div>
my-12margin-top: 3rem; margin-bottom: 3rem; <div className="my-12"></div>
ms-12margin-inline-start: 3rem; <div className="ms-12"></div>
me-12margin-inline-end: 3rem; <div className="me-12"></div>
mt-12margin-top: 3rem; <div className="mt-12"></div>
mr-12margin-right: 3rem; <div className="mr-12"></div>
mb-12margin-bottom: 3rem; <div className="mb-12"></div>
ml-12margin-left: 3rem; <div className="ml-12"></div>
m-14margin: 3.5rem; <div className="m-14"></div>
mx-14margin-left: 3.5rem; margin-right: 3.5rem; <div className="mx-14"></div>
my-14margin-top: 3.5rem; margin-bottom: 3.5rem; <div className="my-14"></div>
ms-14margin-inline-start: 3.5rem; <div className="ms-14"></div>
me-14margin-inline-end: 3.5rem; <div className="me-14"></div>
mt-14margin-top: 3.5rem; <div className="mt-14"></div>
mr-14margin-right: 3.5rem; <div className="mr-14"></div>
mb-14margin-bottom: 3.5rem; <div className="mb-14"></div>
ml-14margin-left: 3.5rem; <div className="ml-14"></div>
m-16margin: 4rem; <div className="m-16"></div>
mx-16margin-left: 4rem; margin-right: 4rem; <div className="mx-16"></div>
my-16margin-top: 4rem; margin-bottom: 4rem; <div className="my-16"></div>
ms-16margin-inline-start: 4rem; <div className="ms-16"></div>
me-16margin-inline-end: 4rem; <div className="me-16"></div>
mt-16margin-top: 4rem; <div className="mt-16"></div>
mr-16margin-right: 4rem; <div className="mr-16"></div>
mb-16margin-bottom: 4rem; <div className="mb-16"></div>
ml-16margin-left: 4rem; <div className="ml-16"></div>
m-20margin: 5rem; <div className="m-20"></div>
mx-20margin-left: 5rem; margin-right: 5rem; <div className="mx-20"></div>
my-20margin-top: 5rem; margin-bottom: 5rem; <div className="my-20"></div>
ms-20margin-inline-start: 5rem; <div className="ms-20"></div>
me-20margin-inline-end: 5rem; <div className="me-20"></div>
mt-20margin-top: 5rem; <div className="mt-20"></div>
mr-20margin-right: 5rem; <div className="mr-20"></div>
mb-20margin-bottom: 5rem; <div className="mb-20"></div>
ml-20margin-left: 5rem; <div className="ml-20"></div>
m-24margin: 6rem; <div className="m-24"></div>
mx-24margin-left: 6rem; margin-right: 6rem; <div className="mx-24"></div>
my-24margin-top: 6rem; margin-bottom: 6rem; <div className="my-24"></div>
ms-24margin-inline-start: 6rem; <div className="ms-24"></div>
me-24margin-inline-end: 6rem; <div className="me-24"></div>
mt-24margin-top: 6rem; <div className="mt-24"></div>
mr-24margin-right: 6rem; <div className="mr-24"></div>
mb-24margin-bottom: 6rem; <div className="mb-24"></div>
ml-24margin-left: 6rem; <div className="ml-24"></div>
m-28margin: 7rem; <div className="m-28"></div>
mx-28margin-left: 7rem; margin-right: 7rem; <div className="mx-28"></div>
my-28margin-top: 7rem; margin-bottom: 7rem; <div className="my-28"></div>
ms-28margin-inline-start: 7rem; <div className="ms-28"></div>
me-28margin-inline-end: 7rem; <div className="me-28"></div>
mt-28margin-top: 7rem; <div className="mt-28"></div>
mr-28margin-right: 7rem; <div className="mr-28"></div>
mb-28margin-bottom: 7rem; <div className="mb-28"></div>
ml-28margin-left: 7rem; <div className="ml-28"></div>
m-32margin: 8rem; <div className="m-32"></div>
mx-32margin-left: 8rem; margin-right: 8rem; <div className="mx-32"></div>
my-32margin-top: 8rem; margin-bottom: 8rem; <div className="my-32"></div>
ms-32margin-inline-start: 8rem; <div className="ms-32"></div>
me-32margin-inline-end: 8rem; <div className="me-32"></div>
mt-32margin-top: 8rem; <div className="mt-32"></div>
mr-32margin-right: 8rem; <div className="mr-32"></div>
mb-32margin-bottom: 8rem; <div className="mb-32"></div>
ml-32margin-left: 8rem; <div className="ml-32"></div>
m-36margin: 9rem; <div className="m-36"></div>
mx-36margin-left: 9rem; margin-right: 9rem; <div className="mx-36"></div>
my-36margin-top: 9rem; margin-bottom: 9rem; <div className="my-36"></div>
ms-36margin-inline-start: 9rem; <div className="ms-36"></div>
me-36margin-inline-end: 9rem; <div className="me-36"></div>
mt-36margin-top: 9rem; <div className="mt-36"></div>
mr-36margin-right: 9rem; <div className="mr-36"></div>
mb-36margin-bottom: 9rem; <div className="mb-36"></div>
ml-36margin-left: 9rem; <div className="ml-36"></div>
m-40margin: 10rem; <div className="m-40"></div>
mx-40margin-left: 10rem; margin-right: 10rem; <div className="mx-40"></div>
my-40margin-top: 10rem; margin-bottom: 10rem; <div className="my-40"></div>
ms-40margin-inline-start: 10rem; <div className="ms-40"></div>
me-40margin-inline-end: 10rem; <div className="me-40"></div>
mt-40margin-top: 10rem; <div className="mt-40"></div>
mr-40margin-right: 10rem; <div className="mr-40"></div>
mb-40margin-bottom: 10rem; <div className="mb-40"></div>
ml-40margin-left: 10rem; <div className="ml-40"></div>
m-44margin: 11rem; <div className="m-44"></div>
mx-44margin-left: 11rem; margin-right: 11rem; <div className="mx-44"></div>
my-44margin-top: 11rem; margin-bottom: 11rem; <div className="my-44"></div>
ms-44margin-inline-start: 11rem; <div className="ms-44"></div>
me-44margin-inline-end: 11rem; <div className="me-44"></div>
mt-44margin-top: 11rem; <div className="mt-44"></div>
mr-44margin-right: 11rem; <div className="mr-44"></div>
mb-44margin-bottom: 11rem; <div className="mb-44"></div>
ml-44margin-left: 11rem; <div className="ml-44"></div>
m-48margin: 12rem; <div className="m-48"></div>
mx-48margin-left: 12rem; margin-right: 12rem; <div className="mx-48"></div>
my-48margin-top: 12rem; margin-bottom: 12rem; <div className="my-48"></div>
ms-48margin-inline-start: 12rem; <div className="ms-48"></div>
me-48margin-inline-end: 12rem; <div className="me-48"></div>
mt-48margin-top: 12rem; <div className="mt-48"></div>
mr-48margin-right: 12rem; <div className="mr-48"></div>
mb-48margin-bottom: 12rem; <div className="mb-48"></div>
ml-48margin-left: 12rem; <div className="ml-48"></div>
m-52margin: 13rem; <div className="m-52"></div>
mx-52margin-left: 13rem; margin-right: 13rem; <div className="mx-52"></div>
my-52margin-top: 13rem; margin-bottom: 13rem; <div className="my-52"></div>
ms-52margin-inline-start: 13rem; <div className="ms-52"></div>
me-52margin-inline-end: 13rem; <div className="me-52"></div>
mt-52margin-top: 13rem; <div className="mt-52"></div>
mr-52margin-right: 13rem; <div className="mr-52"></div>
mb-52margin-bottom: 13rem; <div className="mb-52"></div>
ml-52margin-left: 13rem; <div className="ml-52"></div>
m-56margin: 14rem; <div className="m-56"></div>
mx-56margin-left: 14rem; margin-right: 14rem; <div className="mx-56"></div>
my-56margin-top: 14rem; margin-bottom: 14rem; <div className="my-56"></div>
ms-56margin-inline-start: 14rem; <div className="ms-56"></div>
me-56margin-inline-end: 14rem; <div className="me-56"></div>
mt-56margin-top: 14rem; <div className="mt-56"></div>
mr-56margin-right: 14rem; <div className="mr-56"></div>
mb-56margin-bottom: 14rem; <div className="mb-56"></div>
ml-56margin-left: 14rem; <div className="ml-56"></div>
m-60margin: 15rem; <div className="m-60"></div>
mx-60margin-left: 15rem; margin-right: 15rem; <div className="mx-60"></div>
my-60margin-top: 15rem; margin-bottom: 15rem; <div className="my-60"></div>
ms-60margin-inline-start: 15rem; <div className="ms-60"></div>
me-60margin-inline-end: 15rem; <div className="me-60"></div>
mt-60margin-top: 15rem; <div className="mt-60"></div>
mr-60margin-right: 15rem; <div className="mr-60"></div>
mb-60margin-bottom: 15rem; <div className="mb-60"></div>
ml-60margin-left: 15rem; <div className="ml-60"></div>
m-64margin: 16rem; <div className="m-64"></div>
mx-64margin-left: 16rem; margin-right: 16rem; <div className="mx-64"></div>
my-64margin-top: 16rem; margin-bottom: 16rem; <div className="my-64"></div>
ms-64margin-inline-start: 16rem; <div className="ms-64"></div>
me-64margin-inline-end: 16rem; <div className="me-64"></div>
mt-64margin-top: 16rem; <div className="mt-64"></div>
mr-64margin-right: 16rem; <div className="mr-64"></div>
mb-64margin-bottom: 16rem; <div className="mb-64"></div>
ml-64margin-left: 16rem; <div className="ml-64"></div>
m-72margin: 18rem; <div className="m-72"></div>
mx-72margin-left: 18rem; margin-right: 18rem; <div className="mx-72"></div>
my-72margin-top: 18rem; margin-bottom: 18rem; <div className="my-72"></div>
ms-72margin-inline-start: 18rem; <div className="ms-72"></div>
me-72margin-inline-end: 18rem; <div className="me-72"></div>
mt-72margin-top: 18rem; <div className="mt-72"></div>
mr-72margin-right: 18rem; <div className="mr-72"></div>
mb-72margin-bottom: 18rem; <div className="mb-72"></div>
ml-72margin-left: 18rem; <div className="ml-72"></div>
m-80margin: 20rem; <div className="m-80"></div>
mx-80margin-left: 20rem; margin-right: 20rem; <div className="mx-80"></div>
my-80margin-top: 20rem; margin-bottom: 20rem; <div className="my-80"></div>
ms-80margin-inline-start: 20rem; <div className="ms-80"></div>
me-80margin-inline-end: 20rem; <div className="me-80"></div>
mt-80margin-top: 20rem; <div className="mt-80"></div>
mr-80margin-right: 20rem; <div className="mr-80"></div>
mb-80margin-bottom: 20rem; <div className="mb-80"></div>
ml-80margin-left: 20rem; <div className="ml-80"></div>
m-96margin: 24rem; <div className="m-96"></div>
mx-96margin-left: 24rem; margin-right: 24rem; <div className="mx-96"></div>
my-96margin-top: 24rem; margin-bottom: 24rem; <div className="my-96"></div>
ms-96margin-inline-start: 24rem; <div className="ms-96"></div>
me-96margin-inline-end: 24rem; <div className="me-96"></div>
mt-96margin-top: 24rem; <div className="mt-96"></div>
mr-96margin-right: 24rem; <div className="mr-96"></div>
mb-96margin-bottom: 24rem; <div className="mb-96"></div>
ml-96margin-left: 24rem; <div className="ml-96"></div>
m-automargin: auto;<div className="m-auto"></div>
mx-automargin-left: auto; margin-right: auto;<div className="mx-auto"></div>
my-automargin-top: auto; margin-bottom: auto;<div className="my-auto"></div>
ms-automargin-inline-start: auto;<div className="ms-auto"></div>
me-automargin-inline-end: auto;<div className="me-auto"></div>
mt-automargin-top: auto;<div className="mt-auto"></div>
mr-automargin-right: auto;<div className="mr-auto"></div>
mb-automargin-bottom: auto;<div className="mb-auto"></div>
ml-automargin-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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

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

Team Member Profile Cards

Profile cards with consistent margin spacing for team member showcase.

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

Feature Section with Icons

Feature showcase with proper margin spacing between elements.

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

Pricing Cards with Margin Spacing

Pricing plan cards with consistent margin spacing between elements.

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.

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

Dashboard Widget Spacing

This example demonstrates custom margin utilities for dashboard widget layouts.

This is a live editor. Play around with it!
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:

This is a live editor. Play around with it!
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.

This is a live editor. Play around with it!
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.