CSS Grid most easy center vertical and horizontal

I'm a full-stack developer from South Africa 🇿🇦. I love writing about JavaScript, HTML and CSS.
Search for a command to run...

I'm a full-stack developer from South Africa 🇿🇦. I love writing about JavaScript, HTML and CSS.
Great article! Grid is so powerful and more and more I find myself reaching towards Grid for layout and then Flexbox for spacing.
Yes, such a cool duo! Apparently, this is the case:
Most of you know me for my consistency, a golden arrow in my blog series. I've written 1000 articles in 1008 days! Almost an article a day, and my honeymoon was the only holiday I ever took. I'm super proud of this achievement; it has been a fantasti...

It's not the first time I'll be talking about community. I think it's an essential aspect of any successful tool. This shows in my previous explorations of Astro, Medusa, and now Vendure as well. All these products thrive in a super open, welcoming, ...

The cool part about Vendure is how easy it is to set up and how abstract each layer is. Basically, we get the following elements: External database Server Worker Admin UI Frontend While this is amazing, it also brings a bit of complexity when it co...

The previous article looked at customizing Vendure on a data and process level. In this article, we'll look at customizing emails, as they are often a big part of a webshop system. We'll be looking at two different layers of customization for customi...

Even though Vendure is a pretty significant project out of the box, in some cases, we might want to go in and modify some elements to work to our specific use case. In this article, I'll take a high-level look at some elements we can customize within...

As a follow up on the CSS Flex center article.
Which I've used in about almost all me articles that include a demo, it is now time to give you a view of the same principle using CSS Grid.
Much like Flexbox, it's super easy to center element using Grid.
To fully center a element all we need is:
.container {
display: grid;
place-items: center;
min-height: 100vh;
}
The min-height is optional in this case it's needed to give it a vertical height.
This will result in the following:
If for instance you would only want something centered horizontal you can use the following CSS:
.container {
display: grid;
justify-content: center;
min-height: 100vh;
}
We can use the justify-content and pass the center value to make it horizontally centered.
Note: this is the same use as for
display: flex.
This results in the following Codepen.
On the other hand, maybe you are looking to only center it vertically.
You can use the following CSS to achieve this.
.container {
display: grid;
align-items: center;
min-height: 100vh;
}
We use the align-items with a value of center to get a vertical alignment.
Note: This is as well the same functionality as we've seen in
CSS Flex
This results in the following Codepen.
There you go, we now learned another super-easy way to center elements using CSS Grid.
Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter