Centering images is a common task in web design. Whether you’re working on a landing page, blog post, or product layout, aligning images properly ensures your design looks clean and professional.
This blog will walk you through how to center an image using CSS, both horizontally, vertically, and perfectly in the middle of the page or container.
🎯 Goal: Center the Image Horizontally, Vertically, or Both
CSS offers multiple ways to center images depending on:
- Whether the image is block-level or inline
- Whether you want horizontal, vertical, or full centering
Let’s explore each method.
✅ 1. Center Image Horizontally Using text-align
This is the simplest method when the image is inside a block container like a <div>
.
💡 HTML:
<div class="image-container">
<img src="image.jpg" alt="Sample image" />
</div>
🎨 CSS:
.image-container {
text-align: center;
}
✅ Result:
The image will be horizontally centered inside the container.
✅ 2. Center Image Horizontally Using margin: auto
This method is effective when the image is set as a block element.
💡 HTML:
<img src="image.jpg" class="center-block" alt="Image" />
🎨 CSS:
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
📌 Works only if the image has
display: block
.
✅ 3. Center Image Vertically and Horizontally (Perfect Centering)
To place an image exactly in the center of the viewport or container:
🧱 Use Flexbox
<div class="flex-center">
<img src="image.jpg" alt="Centered Image" />
</div>
.flex-center {
display: flex;
justify-content: center;
align-items: center;
height: 100vh; /* or the height of the parent container */
}
💡 Flexbox is responsive and clean. Perfect for full-page center alignment.
✅ 4. Center Image Using position: absolute
Great for centering in fixed-size containers.
<div class="absolute-center">
<img src="image.jpg" alt="Image" />
</div>
.absolute-center {
position: relative;
height: 300px;
}
.absolute-center img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
🔍 Which Method Should You Use?
Method | Best For |
---|---|
text-align | Simple horizontal centering |
margin: auto | Images set to block display |
flexbox | Responsive full center alignment |
position + transform | Precise centering in containers |
🧠 Final Tips
- Always define a
height
or usemin-height
for vertical centering. - Combine centering methods with
max-width
to ensure responsiveness:
img {
max-width: 100%;
height: auto;
}
- Avoid using outdated methods like
<center>
or inlinealign="center"
— they are deprecated in modern HTML.
📌 Conclusion
Centering an image with CSS is easy once you know the right technique for your layout. From simple text-align to powerful Flexbox, CSS offers flexible solutions for all your image alignment needs.