Nearby lessons
38 of 61📏 Tailwind CSS - Margin
📖 Margin Overview
Margin utilities in Tailwind CSS control the space outside an element's border. They are essential for creating proper spacing between elements and managing layout flow.
Unlike padding (internal spacing), margin creates external space around elements, affecting how they interact with neighboring elements.
🎯 All Sides Margin (m)
Use the m- prefix to apply margin to all sides of an element:
m-0- No marginm-1- 4px marginm-2- 8px marginm-3- 12px marginm-4- 16px marginm-5- 20px marginm-6- 24px marginm-7- 28px marginm-8- 32px marginm-10- 40px marginm-12- 48px marginm-16- 64px marginm-20- 80px marginm-24- 96px marginm-32- 128px marginm-40- 160px marginm-48- 192px marginm-56- 224px marginm-64- 256px marginm-72- 288px marginm-80- 320px marginm-96- 384px marginm-auto- Auto margin (centers block elements)
⬆️ Top Margin (mt)
Use mt- to apply margin only to the top of an element:
mt-0- No top marginmt-1- 4px top marginmt-2- 8px top marginmt-4- 16px top marginmt-8- 32px top marginmt-16- 64px top marginmt-auto- Auto top margin
➡️ Right Margin (mr)
Use mr- to apply margin only to the right side of an element:
mr-0- No right marginmr-2- 8px right marginmr-4- 16px right marginmr-8- 32px right marginmr-16- 64px right marginmr-auto- Auto right margin
⬇️ Bottom Margin (mb)
Use mb- to apply margin only to the bottom of an element:
mb-0- No bottom marginmb-2- 8px bottom marginmb-4- 16px bottom marginmb-8- 32px bottom marginmb-16- 64px bottom marginmb-auto- Auto bottom margin
⬅️ Left Margin (ml)
Use ml- to apply margin only to the left side of an element:
ml-0- No left marginml-2- 8px left marginml-4- 16px left marginml-8- 32px left marginml-16- 64px left marginml-auto- Auto left margin
↔️ Horizontal Margin (mx)
Use mx- to apply margin to both left and right sides (horizontal):
mx-0- No horizontal marginmx-2- 8px horizontal marginmx-4- 16px horizontal marginmx-6- 24px horizontal marginmx-8- 32px horizontal marginmx-12- 48px horizontal marginmx-16- 64px horizontal marginmx-auto- Auto horizontal margin (centers block elements)
↕️ Vertical Margin (my)
Use my- to apply margin to both top and bottom sides (vertical):
my-0- No vertical marginmy-2- 8px vertical marginmy-4- 16px vertical marginmy-6- 24px vertical marginmy-8- 32px vertical marginmy-12- 48px vertical marginmy-16- 64px vertical marginmy-auto- Auto vertical margin
🎯 Auto Margin for Centering
Use auto margin to center block-level elements:
mx-auto- Centers horizontally (requires width constraint)my-auto- Centers vertically (requires flexbox or grid)m-auto- Centers both horizontally and vertically
🔢 Arbitrary Values
Use square brackets to apply any custom margin value:
m-[10px]- Custom 10px marginm-[2.5rem]- Custom 2.5rem marginmx-[15%]- Custom 15% horizontal marginmy-[1.2em]- Custom 1.2em vertical margin
📱 Responsive Margin
Combine margin utilities with responsive prefixes:
m-4 md:m-8- 16px margin, 32px on medium screensmx-2 lg:mx-12- 8px horizontal, 48px on large screensmy-4 sm:my-6 xl:my-12- Responsive vertical margin
⚠️ Margin Collapse
Understanding margin collapse behavior:
- Adjacent margins: Vertical margins of adjacent elements collapse
- Parent-child margins: Top/bottom margins can collapse with parent
- Flexbox/Grid: Margins don't collapse in flexbox or grid
- Solution: Use padding instead of margin when needed
✅ Margin Best Practices
- Use margin for external spacing: Space between elements
- Use padding for internal spacing: Space inside elements
- Be consistent: Stick to Tailwind's spacing scale
- Consider responsive design: Adjust margins for different screens
- Use auto margin for centering: mx-auto for horizontal centering
- Watch for margin collapse: Be aware of vertical margin behavior
- Combine with flexbox/grid: Prevent margin collapse when needed
- Use negative margins carefully: For overlapping effects