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

除特别说明外,本站内容采用创作共用授权署名和非商业用途,请尊重劳动成果。

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无效.

相关推荐