CSS图片垂直居中实现方法详解

时间:2021-05-08

方法一:利用定位
HTML结构如:

复制代码代码如下:
<div class="box">
<a class="pic-wrap" href="#" target="_blank">
<img src="http://img01.taobaocdn.com/tps/i1/T1LeeNXodaXXXXXXXX-130-150.png">
</a>
</div>
CSS代码如:

复制代码代码如下:
body {
margin: 0;
padding: 0;
font: 12px/1.5 tahoma,arial;
}
.box {
width: 220px;
height: 220px;
border: 1px solid #F30;
margin: 100px auto 0;
display: table;
}
.pic-wrap {
display: table-cell;
text-align: center;
vertical-align: middle;
}

.box {
*position: relative;
}
.pic-wrap {
*width: 100%;
*position: absolute;
*top: 50%;
*left: 0;

_font-family: sans-serif;
}
.pic-wrap img {
*position: relative;
*top: -50%;
*left: 0;

vertical-align: middle\9;

border: none\9;
}
方法二:
HTML结构同上;
CSS代码如:

复制代码代码如下:
.box {
width: 220px;
height: 220px;
border: 1px solid #F30;
margin: 100px auto 0;
}
.pic-wrap {
display: table-cell;
vertical-align: middle;
width: 220px;
height: 220px;
text-align: center;

*display: block;
*font-size: 192px; /*字体大小为height*0.783或者height/1.14,这里约为192px*/
_font-family: sans-serif;
}
.pic-wrap img {
border: none;
vertical-align: middle;
}
【注意,当在css中设置了body元素字体的话,那么方法二在ie7下会失效的】
最佳方法:
CSS代码如:

复制代码代码如下:
body {
margin: 0;
padding: 0;
<SPAN style="COLOR: #ff6600">font: 12px/1.5 tahoma,arial;</SPAN>
}
.box {
width: 220px;
height: 220px;
border: 1px solid #F30;
margin: 100px auto 0;
}
.pic-wrap {
display: table-cell;
vertical-align: middle;
width: 220px;
height: 220px;
text-align: center;

*display: block;
_font-size: 192px;
<SPAN style="COLOR: #ff6600">+line-height: 220px; </SPAN>
_font-family: sans-serif;
}
.pic-wrap img {
border: none;
vertical-align: middle\9;
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章