CSS中如何实现图片垂直居中

曾经在淘宝UED招聘中有这样一道面试题目:
“使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。”
当然出题并不是随意,而是有其现实的原因,垂直居中是 淘宝 工作中最常遇到的一个问题,很有代表性。
题目的难点在于两点:
1.垂直居中;

2.图片是个置换元素,有些特殊的特性。
CSS简单的解决方法:

.box {
 /*非IE的主流浏览器识别的垂直居中的方法*/
 display: table-cell;
 vertical-align:middle;
 /*设置水平居中*/
 text-align:center;
 /* 针对IE的Hack */
 *display: block;
 *font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
 *font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/
 width:200px;
 height:200px;
border: 1px solid #eee;
}
.box img {
 /*设置图片垂直居中*/
 vertical-align:middle;
}
 " />

其实对于初学者,稍微用心就知道怎么回事,多运用几次就操作熟练了。

+