css 使图片水平垂直居中
1.利用display:table-cell,具体代码如下:
html代码如下:
1 <div class="img_wrap"> 2 <img src="wgs.jpg"> 3 </div>
css代码如下:
1 .img_wrap{ 2 width: 400px; 3 height: 300px; 4 border: 1px dashed #ccc; 5 display: table-cell; //主要是这个属性 6 vertical-align: middle; 7 text-align: center; 8 }
效果如下:
2.采用背景法:
html代码如下:
1 <div class="img_wrap"></div>
css代码如下:
.img_wrap{ width: 400px; height: 300px; border: 1px dashed #ccc; background: url(wgs.jpg) no-repeat center center; }
效果如下图:
3.图片外面用个p标签,通过设置line-height使图片垂直居中:
html代码如下:
1 <div class="img_wrap"> 2 <p><img src="wgs.jpg"></p> 3 </div>
css代码如下:
1 *{margin: 0px;padding: 0px} 2 .img_wrap{ 3 width: 400px; 4 height: 300px; 5 border: 1px dashed #ccc; 6 text-align: center;} 7 .img_wrap p{ 8 width:400px; 9 height:300px; 10 line-height:300px; /* 行高等于高度 */ 11 } 12 .img_wrap p img{ 13 *margin-top:expression((400 - this.height )/2); /* CSS表达式用来兼容IE6/IE7 */ 14 vertical-align:middle; 15 border:1px solid #ccc; 16 }
效果图如下: