<!--html結構-->
<div class="box-1"> <a class="img-wrap-1" href="#"> <img src="images/1.png" alt="" /> </a> </div>
/* 樣式 */
.box-1{ display:table;} .img-wrap-1{ display:table-cell; width:200px; height:200px; border:1px solid #ccc; text-align:center; *font-size:178px; zoom:1; vertical-align:middle;} /* height與font-size之比大約爲:1:0.893; zoom:1是爲了觸發IE的hasLayout */
<!--html結構-->
<div class="box-2"> <a class="img-wrap-2" href="#"> <img src="images/1.png" alt="" /> </a> </div>
/* 樣式 */
.img-wrap-2{ display:inline-block; width:200px; height:200px; line-height:200px; border:1px solid #ccc; text-align:center;} .img-wrap-2 img{ vertical-align:middle;}
<!--html結構-->
<div class="box-3"> <a class="img-wrap-3" href="http://baidu.com/" target="_blank"> <button disabled="disabled"><img src="images/1.png" alt="" /></button> </a> </div>
/* 樣式 */
.box-3{ display:inline-block; width:200px; height:200px; border:1px solid #ccc; text-align:center;} .img-wrap-3 button{ width:100%; height:100%; border:0; background:none;} .img-wrap-3 img{ cursor:pointer;}
<!--html結構-->
<div class="box-4"> <img class="blank" src="images/blank.gif" alt="" /> <a class="img-wrap-4" href="#" target="_blank"> <img src="images/1.png" alt="" /> </a> </div>
/* 樣式 */
.box-4{ display:inline-block; width:200px; height:200px; border:1px solid #ccc; text-align:center;} .blank{ width:0px; height:100%; vertical-align:middle;}
優劣對比:css
1.利用table-cell實現居中,font-size作兼容兼容IE6+/FF/Chromehtml
優勢:不添加任何多餘標籤,兼容主流瀏覽器瀏覽器
缺點:須要計算處理font-sizespa
2.利用line-height實現居中兼容IE7+/FF/Chrome.net
優勢:不須要任何hack,兼容IE7+主流瀏覽器xml
缺點:此方法不兼容IE6,固然也能夠用方法1中的font-size來兼容IE6htm
3.利用button標籤實現居中兼容IE6+/FF/Chrome圖片
優勢:不須要任何hack,兼容IE6+主流瀏覽器get
缺點:添加了多餘的標籤buttonit
4.利用1px小圖片實現垂直居中兼容IE6+/FF/Chrome
優勢:不須要任何hack,兼容IE6+主流瀏覽器
缺點:添加了多餘的標籤img