图片水平垂直居中的四种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片水平垂直居中的四种方法相关的知识,希望对你有一定的参考价值。

参考技术A 第一种:相对定位+margin:auto

<div class="Pic"><img src="images/img.png" alt="” /></div>

.Pic position:relative;

.Pic img position:absolute; top:0; left:0; right:0; bottom:0; margin:auto;

第二种:利用flexbox里面的垂直居中属性( align-items:center) 和水平居中属性(justify-content:center)

<div class="Pic”><img src="images/img.png" alt="" /></div>

.Pic display:flex; align-items:center; justify-content: center; /*新版本写法*/ text-align:center;

第三种:利用dispay:table-cell + 图片vertical-align:middle

<div class="Pic"><span class="icenter"><img src="images/img.png" alt="" /></span></div>

.Pic .icenter display:table-cell; vertical-align:middle; text-align:center; width:60px; height:60px;

.Pic img  vertical-align:middle; display:inline-block;

第四种:增加一个空白标签

<div class="Pic"><img src="images/img.png" alt="" /><i class="iblock"></i></div>

.Pic text-align:center;

.Pic img vertical-align:middle;

.Pic .iblock display:inline-block; vertical-align:middle; height:100%; width:0;

图片水平垂直居中对齐的四种做法

在前端开发制作中,图片垂直居中对齐是很常见的,有些是固定高度,有些没有固定高度,本文分享我用的四种方法,希望对你有所启发。

来源:http://caibaojian.com/img-vertical-middle.html

以下说的做法暂不考虑IE浏览器的兼容性,适用于移动端,对兼容性感兴趣的可以看之前的文章:图片垂直居中对齐的3种方法

以下的做法中假定外层的高度和宽度已经固定。通用HTML和CSS代码:

<div class="img">
<img src="http://dummyimage.com/200x200/f66/"/>
</div>

  

1 .img {
2     width:300px;
3     height:300px;
4     margin:20px auto;
5     background:#00f;
6 }

1.相对定位+margin:auto

利用图片相对于外层浮动,加上margin:auto.

<div class="img img1">
<img src="http://dummyimage.com/200x200/f66/"/>
</div>

  

 1 img1 {
 2     position:relative;
 3 }
 4 .img1 img {
 5     position:absolute;
 6     top:0;
 7     bottom:0;
 8     left:0;
 9     right:0;
10     margin:auto;
11 }

2.flexbox

利用flexbox里面的垂直居中属性:align-items:center(垂直居中)和justify-content:center(水平居中);

<div class="img img2">
	<img src="http://dummyimage.com/200x200/f66/"/>
</div>

  

技术分享图片
 1 .img2 {
 2     display:-webkit-box;
 3     display:-ms-flexbox;
 4     display:flex-box;
 5     display:flex;
 6     -webkit-box-align:center;
 7     -ms-flex-align:center;
 8     align-items:center;
 9     -webkit-box-pack:center;
10     -ms-flex-pack:center;
11     justify-content:center;
12     text-align:center;
13 }
View Code

3.table-cell

利用display:table-cell+图片vertical-align:middle

<div class="img img3">
	<span class="icenter"><img src="http://dummyimage.com/200x200/f66/"/></span>
</div>

  

 1 .img3 .icenter {
 2     display:table-cell;
 3     vertical-align:middle;
 4     text-align:center;
 5     height:300px;
 6     width:300px
 7 }
 8 .img3 img {
 9     vertical-align:middle;
10     display:inline-block
11 }

4.增加一个空白标签

兼容性较好,支持IE浏览器

<div class="img img4">
	<img src="http://dummyimage.com/200x200/f66/"/>
	<i class="iblock"></i>
</div>

  

 1 .img4 {
 2     text-align:center
 3 }
 4 .img4 img {
 5     vertical-align:middle
 6 }
 7 .img4 .iblock {
 8     display:inline-block;
 9     height:100%;
10     width:0;
11     vertical-align:middle
12 }

 

以上是关于图片水平垂直居中的四种方法的主要内容,如果未能解决你的问题,请参考以下文章

图片水平垂直居中对齐的四种做法

HTML CSS中如何实现DIV中的图片水平垂直居中对齐

CSS水平居中与垂直居中的总结

转 图片多行文字的水平垂直居中

div水平垂直居中的几种方法

怎么使用CSS让图片水平垂直都居中?