CSS
CSS: How to Center an Image (Horizontally and Vertically)
Centering images is one of the most common layout tasks in web design. Whether you’re working on a banner, profile picture, or responsive content block, CSS provides multiple techniques to center an image horizontally, vertically, or both.
In this blog post, you’ll learn:
- ✅ How to center an image horizontally
- ✅ How to center an image vertically
- ✅ How to center an image both horizontally and vertically
- 🧪 Real-world examples using Flexbox, text-align, and Grid
- 🧠 Tips for responsive and accessible image layout
✅ 1. Center Image Horizontally Using text-align: center
If the image is inside a block container (like a <div>
), the easiest method is:
✅ HTML:
<div class="center-container">
<img src="image.jpg" alt="Centered Image">
</div>
✅ CSS:
.center-container {
text-align: center;
}
📌 The image is inline by default, so this works like centering text.
✅ 2. Center Image Using margin: auto
and display: block
When you want full control using margins:
img.center-image {
display: block;
margin: 0 auto;
}
<img src="image.jpg" alt="Centered Image" class="center-image">
✅ This method is cleaner and more reliable in most layouts.
✅ 3. Center Image Vertically and Horizontally Using Flexbox
Flexbox is a modern, powerful layout system perfect for centering.
✅ CSS:
.flex-center {
display: flex;
justify-content: center; /* Horizontal */
align-items: center; /* Vertical */
height: 400px;
}
✅ HTML:
<div class="flex-center">
<img src="image.jpg" alt="Centered with Flexbox">
</div>
✅ Ideal for cards, modals, and hero sections.
✅ 4. Center Image with CSS Grid
A super-simple modern method:
.grid-center {
display: grid;
place-items: center;
height: 400px;
}
<div class="grid-center">
<img src="image.jpg" alt="Centered with Grid">
</div>
🎯 This centers the image both horizontally and vertically with just one line!
✅ 5. Responsive Centering
Make sure your centered image works across devices:
.responsive-center {
display: block;
max-width: 100%;
height: auto;
margin-left: auto;
margin-right: auto;
}
✅ This ensures your image stays centered and scales well on different screen sizes.
🧠 Summary of Methods
Task | CSS Technique |
---|---|
Center horizontally | text-align: center or margin: auto |
Center both (H + V) | Flexbox or CSS Grid |
Maintain responsiveness | Use max-width: 100% , height: auto |
Modern layouts | Prefer Flexbox/Grid |
🏁 Final Thoughts
Centering an image in CSS is easy once you choose the right method for your layout. For simple horizontal centering, use text-align: center
or margin: auto
. For more complex layouts, Flexbox and Grid are powerful, responsive solutions that keep your design looking sharp on all devices.