最简单的方法莫过于设置外层元素的css属性:
复制代码代码如下:
div{
display: table-cell;
}
但是IE6/7并不支持这个css样式,为了兼容它们可以采用下面的方法。
html的结构如下:
复制代码代码如下:
<div><span></span><img src="/UploadFiles/2021-03-30/test.png">
css代码如下:
复制代码代码如下:
div{
width: 100px;
height: 100px;
border: 1px solid #ccc;
}
span{
line-height: 100%;
vertical-align: middle;
display: inline-block;
height: 100%;
}
img{
width: 100%;
vertical-align: middle;
}
通过设置以上属性可以达到下图的效果,图片在div中垂直居中。
这个方法的原理是在img标签前面插入一个空的span标签,利用它来撑开div内的行高到100%。