Centering a button on a webpage is a common design task in web development. Whether you’re building a form, a hero section, or a call-to-action area, a centered button can provide a clean, user-friendly layout.
In this blog, we’ll explore how to center a button using CSS, covering both horizontal and vertical centering techniques with examples.
🎯 Method 1: Center a Button Horizontally Using Text Align
If your button is inside a container like a <div>
, you can center it with text-align: center
.
✅ HTML:
<div class="button-container">
<button>Click Me</button>
</div>
✅ CSS:
.button-container {
text-align: center;
}
Result: The button will be centered horizontally inside the container.
🎯 Method 2: Center a Button Horizontally Using Margin
You can also center a block-level button using auto margins.
✅ CSS:
button {
display: block;
margin: 0 auto;
}
⚠️ Make sure the button is
display: block
ordisplay: inline-block
for this to work effectively.
🎯 Method 3: Center a Button Vertically and Horizontally Using Flexbox
For both vertical and horizontal centering, Flexbox is the most powerful and responsive method.
✅ HTML:
<div class="flex-center">
<button>Submit</button>
</div>
✅ CSS:
.flex-center {
display: flex;
justify-content: center; /* horizontal */
align-items: center; /* vertical */
height: 100vh; /* full height of the screen */
}
Result: The button will be perfectly centered in the middle of the page or container.
🎯 Method 4: Center a Button Using Grid
CSS Grid can also center elements easily:
✅ CSS:
.grid-center {
display: grid;
place-items: center;
height: 100vh;
}
This will center the button both vertically and horizontally inside the container.
📝 Bonus: Tailwind CSS Way
If you’re using Tailwind CSS, you can center a button like this:
<div class="flex justify-center items-center h-screen">
<button class="btn">Centered Button</button>
</div>
✅ Summary Table
Method | Center Horizontally | Center Vertically | Responsive? | Recommended For |
---|---|---|---|---|
text-align | ✅ | ❌ | ✅ | Simple layouts |
margin: auto | ✅ | ❌ | ✅ | Forms and inline buttons |
Flexbox | ✅ | ✅ | ✅✅ | Modern layouts, sections |
CSS Grid | ✅ | ✅ | ✅✅ | Full-page components |
Conclusion
Centering a button in CSS can be done in multiple ways depending on the layout and design goals. For quick tasks, text-align: center
or margin: auto
are great. For advanced and responsive designs, Flexbox or Grid offer full control.
With these techniques, you can confidently align buttons for a polished and professional user interface.