Making the button center can sometimes be tricky as there are numerous ways to achieve it using CSS. Here are the 3 options that you can use right now to center the button.
How to use margin: auto
to center the button
The first and perhaps the simplest option is adding margin: 0 auto
and then add display: block
to make the button center.
button {
margin: 0 auto;
display: block;
}
The margin: 0 auto
is a short form of setting the top and bottom margins to 0 and the left and right margins to auto. The margin auto is what causes the button to be centered, and a display block is needed as it will work only in block elements.
How to center a button using a div
element tag
The second option is to wrap the button with the div
element tag and then use text-align: center
to center the button. It’s like you’re making a text to be centered.
div {
text-align: center;
}
<div>
<button>Centered button</button>
</div>
The downside of this approach is every time you want to center a button, you will have to create a new div
element just for this button. And if you have a lot of buttons that need frequent styling updates, it’ll quickly become a hassle to maintain it. In that case, you are better off using option one.
In short, if you insist on using this approach, do it for few buttons only.
How to center a button using CSS flexbox
The third option is to use a flexbox to center a button. This approach is ideal if you are already using flexbox on a web page and the button is inside the parent element.
To center a button with a flexbox, you should do 2 things:
- first, add
display: flex
to a button’s parent element so that you’ll activate flexbox features - then add
justify-content: center
so that the button will be centered
In the example below, div
is the parent element of the button.
div {
display: flex;
justify-content: center;
}
<div>
<button>Centered button</button>
</div>
And there you have it! These are the 3 ways you can use to center a button in CSS.
Get my free e-book to prepare for the technical interview in JavaScript or start to Learn Full-Stack JavaScript right now!