Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Image center align vertically and horizontally [duplicate]

Tags:

Hi I want to place a Image which is center align vertically and horizontally as well, My HTML markup is

<ul class="big-wrapper"> <li> <div class="filler" style="vertical-align: middle; display: inline-block;">     <img src="7-612x612-2.png" original="/7-612x612-2.png" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"> </div> </li> <li> <div class="filler" style="vertical-align: middle; display: inline-block;">     <img src="7-612x612-2.png" original="/7-612x612-2.png" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;">  </li> </ul>  Used Css ul.big-wrapper li > div { height:612px; width:612px; }  ul.big-wrappe li { float:left; margin:0 20px 20px 0; position:relative; text-align:center; } 

After doing all those stuff i am not able to do so.Please have a look and help me.

like image 272
Soarabh Avatar asked Mar 30 '11 04:03

Soarabh


People also ask

How do you center align an image vertically in HTML?

Step 1: Wrap the image in a div element. Step 2: Set the display property to "flex," which tells the browser that the div is the parent container and the image is a flex item. Step 3: Set the justify-content property to "center." Step 4: Set the width of the image to a fixed length value.

How do you centralize an image?

To center an image with CSS Grid, wrap the image in a container div element and give it a display of grid . Then set the place-items property to center. P.S.: place-items with a value of center centers anything horizontally and vertically.

How do I horizontally align an image in CSS?

To horizontally center a block element (like <div>), use margin: auto; Setting the width of the element will prevent it from stretching out to the edges of its container.


2 Answers

There's a few good ways to both horizontally and vertically center an element, it just comes down to the situation and your preference.

With the following markup:

<div><img src="a.png" width="100" height="100"></div> 

line-height

div { width:300px; height:300px; line-height:300px; text-align:center; } div img { vertical-align:middle; } 

Good quick fix without messing with positioning too much but if actually text is being centered this way could be problematic.

display:table-cell

div { width:300px; height:300px; text-align:center; display:table-cell; vertical-align:middle; } 

Works just like good old tables and highly flexible, however only supported in modern browsers.

position:absolute

div { width:300px; height:300px; position:relative; } div img { top:-50px; left:-50px; position:absolute; margin:50% 0 0 50%; } 

top and left offsets should be set to half the respective dimensions of the element being positioned. Works well if the containing element needs to be flexible but absolute values are required to work.


Demo of all techniques: jsfiddle.net/Marcel/JQbea (fullscreen)

like image 78
Marcel Avatar answered Sep 18 '22 17:09

Marcel


why not just remove the img tags then set the image as a background and center it like this:

(doing it inline, but via external css file is the best way)

<div style="background: url('7-612x612-2.png') no-repeat center center transparent;">&nbsp;</div> 
like image 26
moe Avatar answered Sep 21 '22 17:09

moe