How To Center Image Vertically?
I am looking for a way to center the image vertically, something that is similar to text-align center. text-align center is kinda efficient since you don't need to specify the widt
Solution 1:
You can do it in 2 ways
Way 1 (Preferred), by using display: table-cell
div {
display: table-cell;
height: 100px;
border: 1px solid #f00;
vertical-align: middle;
}
Way 2, Using position: absolute;
and top: 50%
and than deduct 1/2 of the total height
of the image using margin-top
div {
height: 100px;
border: 1px solid #f00;
position: relative;
}
divimg {
position: absolute;
top: 50%;
margin-top: -24px; /* half of total height of image */
}
Solution 2:
div{
display:table-cell;
vertical-align:middle;
}
Solution 3:
in a parent div id parentDiv .. set image on background
#parentDiv
{
background:url(image.png) no-repeat center center;
height:500px;
width:500px;
}
or in child div do this thing...
position:absolute;
top:50%;
Solution 4:
All in the middle ...
<div id="container">
<div id="img"></div>
</div>
#container {
position: relative;
width:200px;
height:200px;
background:#040;
}
#container #img {
background: url("url_to_image.jpg") no-repeat center center;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
}
Solution 5:
The solution you've got works for old browsers but in the near future (right now has like the 70% of the browser support) you can do this, a much simpler and elegant solution:
.containerimg{
width: 100%;
height: auto;
}
@supports(object-fit: cover){
.containerimg{
height: 100%;
object-fit: cover;
object-position: center center;
}
}
Post a Comment for "How To Center Image Vertically?"