2 ways to horizontally center a DIV in CSS

DISCLAIMER: This post may contain “affiliate” links to products and services I recommend. I’ll receive a small commission if you decide to purchase one of these products or services. I only recommend products I genuinely believe will help you in running your freelance business.

Let’s take this simple HTML structure:

<div class="outer">
	<div class="inner">This is the inner div.</div>
</div>

The first method involves some straight-forward CSS:

div.inner {
	width: 60%;
	margin: 0 auto;
}

Doesn’t get much simpler than that:

2 ways to horizontally center a DIV in CSS 1

And, if it this is all you need to do, you can probably stop here. But, sometimes what you’re actually trying to do is a little more complicated and you need some more flexibility.

Enter CSS Grid:

div.outer {
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
}
div.inner {
	width: 60%;
}

Here, we’re creating a grid with 1 column that fills the entire space of the parent DIV. Then, a child DIV with a 60% width. And, using justify-items to center the child DIV.

This might seem like overkill for something this simple, but it does set you up if you decide to change this in the future. So, for example, let’s say you decide to add two more child DIVs later.

Your CSS would only change a little:

div.outer {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
	justify-items: center;
}
div.inner {
	justify-self: stretch;
}

This would give you three perfectly centered DIVs in your grid:

2 ways to horizontally center a DIV in CSS 2

In any case, hopefully those two methods help you get past this hang-up and get back to building your site.

That said, if you’d like to jump even further into CSS Grid, you might check out the Website Template From Scratch course on Skillshare. One of the things I show you is how to build a responsive grid system using CSS Grid.

Plus, there’s a cool asynchronous form that we build.

A rotating mobile menu.

Anyway, you can get free access to the course on Skillshare. More info on the course and how to get the free access is here:
https://store.johnmorrisonline.com/product/web-design-projects-build-a-freelance-website-template-from-scratch-using-html-css-jquery-php/

You might also like

Do you want more freelance clients?

I’ll show you what I learned over the last 15 years to grind out (from absolute scratch) a backlog of new clients wanting to hire you. Who your best client prospect are, what services you should be offering them, where to find them and more. Just enter your email address in the box below and let’s get started:

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on reddit
Reddit
Share on pinterest
Pinterest
John Morris

JOHN MORRIS

I’m a 15-year veteran of freelance web development. I’ve worked with bestselling authors and average Joe’s next door. These days, I focus on helping other freelancers build their freelance business and their lifestyles.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Do you want more freelance clients?

Enter your email below to get started building your system for consistently bringing in new freelance clients:

WHAT OTHERS ARE SAYING

Thabo Motsoahae

John is one of the best instructors I have come across, I learned a lot from his online tutorials.

Sukh Plaha

John is a fantastic and patient tutor, who is not just able to share knowledge and communicate it very effectively – but able to support one in applying it. However, I believe that John has a very rare ability to go further than just imparting knowledge and showing one how to apply it. He is able to innately provoke one’s curiosity when explaining and demonstrating concepts, to the extent that one can explore and unravel their own learning journey. Thanks very much John!

Chris Aitken

He significantly improved my site through his expert knowledge of PHP, CSS and Javascript. Would definitely recommend John to others.

Bob Patterson

Not only is John a very talented programmer and developer, he is also an excellent communicator. He has a talent for taking complex subjects and communicating them in terms that anyone can understand. This is a rare combination. This ability has enabled me to take my skills and knowledge to the next level. Thank you John for for all that you do.

Lori Grant

John did an outstanding job on my project. I highly recommend him and look forward to working with him on future projects.

Ray Edwards

I recommend John every chance I get. If every person I worked with were as committed to excellence, punctuality, value, and unquestionable integrity… the world would be a better place. Highest recommendation.

Bradley Smith

John and I have worked together on numerous projects. John is very quick and efficient and was a pleasure to work with.

Close Menu