如何让未知高宽的图片在div里实现垂直居中?
嘿,不知道大家有木有遇到这样的要求,在一个固定尺寸的容器里面放一个未知大小的图片,然后要求垂直居中,并兼容ie6。小提莫就曾经遇到过,通过一番摸索(就是百度(๑•ᴗ•๑)),实现方法如下:
html:
1 <div class="teemo"> 2 <img src="images/teemo.jpg" /> 3 </div>
常规CSS(支持display:table-cell):
1 *{margin: 0;padding: 0;} 2 .teemo{border: 1px solid #666; width: 160px; height: 154px; display: table-cell; vertical-align:middle; text-align: center;} 3 .teemo img{vertical-align:middle; display:inline;}
由于IE6\IE7不支持display:table-cell, 只好想其他办法来让图片实现垂直居中对齐,淘宝工程师贡献了一种方法(当元素的高度/字体大小=1.14左右的时候图片能够垂直居中。注:经过测试发现也与font-family有关。),这里需要对div设置 *display:block ,所以完整的CSS如下:
1 *{margin: 0;padding: 0;} 2 .teemo{border: 1px solid #666; width: 160px; height: 154px; display: table-cell; vertical-align:middle; text-align: center; *display: block;*font-family: Arail;*font-size:135px;} 3 .teemo img{vertical-align:middle; display:inline;}

浙公网安备 33010602011771号