DEV Community

Cover image for Modern Ways to Center an Element with CSS
Let's Code
Let's Code

Posted on • Edited on

Modern Ways to Center an Element with CSS

CSS has come a long way on how to center 🎯 an html element. I can still remember some ways using tables and floats. Not pretty but it works during that time. 😃😎 Fast-forward, it is easy and can be done with few lines of code.

Feel free to bookmark 🔖 even if you don't need this for now. You may need to refresh/review down the road when it is time for you to look for a new role.

CSS translate/transform

// maybe best to support old browser .container { position: relative; } .child { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } 
Enter fullscreen mode Exit fullscreen mode

CSS flexbox (3-liner code)

https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox

// most popular because of current browser support .container { display: flex; justify-content: center; align-items: center; } 
Enter fullscreen mode Exit fullscreen mode

CSS grid (2-liner code)

https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Grids

// the future .container { display: grid; place-items: center; } 
Enter fullscreen mode Exit fullscreen mode

In case you want to play and see this code in action:
Codepen: https://codepen.io/angelo_jin/pen/qBmwyzr

If you want a video version:

If you want to support me - Buy Me A Coffee

Top comments (2)

Collapse
 
victorocna profile image
Victor Ocnarescu

Nice one! I did not know the 2-liner code using css grid. Will definitely use this one from now on.

Collapse
 
frontendengineer profile image
Let's Code • Edited

yeah, especially if you have no problem with its current browser support. 👍

i currently use css grid at the moment at work.