Div+CSS教程

关注公众号 jb51net

关闭
网页制作 > CSS > Div+CSS教程 >

不定宽高div内图片垂直居中的css样式

脚本之家

最简单的方法莫过于设置外层元素的css属性:


div{
display: table-cell;
}

但是IE6/7并不支持这个css样式,为了兼容它们可以采用下面的方法。

html的结构如下:


<div><span></span><img src="test.png" alt=""></div>

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%。