「使用純CSS實現未知尺寸的圖片(但高寬都小於200px)在200px的正方形容器中水平和垂直居中。」
當然出題並不是隨意,而是有其現實的原因,垂直居中是網頁中最常遇到的一個問題,很有代表性。
題目的難點在於兩點:
1. 垂直居中;
2. 圖片是個置換元素,有些特殊的特性。
至於如何解決,下面是一個權衡的相對結構乾淨,CSS簡單的解決方法:
程序代碼
程序代碼
HTML代碼
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
當然出題並不是隨意,而是有其現實的原因,垂直居中是網頁中最常遇到的一個問題,很有代表性。
題目的難點在於兩點:
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;
}
/*非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;
}

<div class="box">
<img src="http://192.168.1.50/blog/webLogo_hanbox.gif" />
</div>
<img src="http://192.168.1.50/blog/webLogo_hanbox.gif" />
</div>

[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]