未知大小图片在容器的垂直和水平居中问题

353 查看

CSS布局中,未知大小图片的垂直居中,一直是比较头疼的问题,标准浏览器只要设定容器的line-height和图片的vertical-align:middle;就可以了,但对IE没用,几个月前在国外网站看到了一则对IE的解决方法,感觉不是很理想,也没当回事。最近看到经常有朋友在问类似的问题,又把代码翻了出来,针对IE改了下。

CSS
.box{
height:140px;
width:200px;
border: solid 1px #666;
text-align:center;/*水平居中*/
line-height:140px;
font-size:126px;/*IE靠这垂直居中*/
}

.box[class]{
font-size:12px;/*标准浏览器需要这个数值*/
}

img{
vertical-align:middle;/*标准浏览器图片垂直居中*/
}

  原先老外代码的font-size是和高度相同,试下来容器的高度要比标准浏览器高一截,多次尝试将字体尺寸大小减去了百分之十容器的高度,这样一来,看起来差不多。至于什么原因还不清楚.

  在IE5.5、IE6.0、FF1.5、Opera9.0下测试成功,对IE5.0和IE7.0无效。