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%); }
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; }
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; }
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)
Nice one! I did not know the 2-liner code using css grid. Will definitely use this one from now on.
yeah, especially if you have no problem with its current browser support. 👍
i currently use css grid at the moment at work.