How to align an image dead center with bootstrap

I'm using the bootstrap framework and trying to get an image centered horizontally without success..

I've tried various techniques such as splitting the the 12 grid system in 3 equal blocks e.g

<div> <div> <div></div> <div><img src="logo.png" /></div> <div></div> </div> </div> 

What's the easiest method to get an image centered relative to the page?

4

17 Answers

Twitter Bootstrap v3.0.3 has a class: center-block

Center content blocks

Set an element to display: block and center via margin. Available as a mixin and class.

Just need to add a class .center-block in the img tag, looks like this

<div> <div> <div></div> <div><img src="logo.png" /></div> <div></div> </div> </div> 

In Bootstrap already has css style call .center-block

.center-block { display: block; margin-left: auto; margin-right: auto; } 

You can see a sample from here

1

The correct way of doing this is

<div> <img ...> </div> 
4

Update 2018

The center-block class no longer exists in Bootstrap 4. To center an image in Bootstrap 4, use mx-auto d-block...

<img src="..."/> 
1

Add 'center-block' to image as class - no additional css needed

<img src="images/default.jpg"/> 
2

Twitter bootstrap has a class that centers: .pagination-centered

It worked for me to do:

<div> <div><img src="header.png" alt="header" /></div> </div> 

The css for the class is:

.pagination-centered { text-align: center; } 
1

You could use the following. It supports Bootstrap 3.x above.

<img src="..." alt="..." /> 
1

Assuming there is nothing else alongside the image, the best way is to use text-align: center in the img parent:

.row .span4 { text-align: center; } 

Edit

As mentioned in the other answers, you can add the bootstrap CSS class .text-center to the parent element. This does exactly the same thing and is available in both v2.3.3 and v3

4

Works for me. try using center-block

<div> <div> <div></div> <div><img src="logo.png" /></div> <div></div> </div> </div> 
0

I need the same and here I found the solution:

<div> <div> <div> This div will be centred. </div> </div> </div> 

and to CSS:

[class*="span"].centred { margin-left: auto; margin-right: auto; float: none; } 
2

You can use margin property with the bootstrap img class.

.name-of-class .img-responsive { margin: 0 auto; } 

I am using justify-content-center class to a row within a container. Works well with Bootstrap 4.

<div> <div> <img src="logo.png" /> </div> </div> 

Seems we could use a new HTML5 feature if the browser version is not a problem:

in HTML files :

<div> I will be in the center </div> 

And in CSS file, we write:

body .centerBloc { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); } 

And so the div could be perfectly center in browser.

2

Just use following bootstrap class to fix it

<img src="../path/to/.." alt="Image"> 
1

You should use

<div> <img src="src.png"> </div> .fluid-img { margin: 60px auto; } @media( min-width: 768px ){ .fluid-img { max-width: 768px; } } @media screen and (min-width: 768px) { .fluid-img { padding-left: 0; padding-right: 0; } } 

I created this and added to Site.css.

.img-responsive-center { display: block; height: auto; max-width: 100%; margin-left:auto; margin-right:auto; } 

A lot of the above options didn't work for me. However, this worked!

<div> <div> <div><img src="img_path" /></div> </div> </div> 

You could change the CSS of the previous solution as below:

.container, .row { text-align: center; } 

This should center all the elements in the parent div as well.

You Might Also Like