前言: 在一個固定的容器里,圖片都是居中顯示在容器里,不管是小於這個容器,還是大於這個容器,以下是我測試的 最好的一種解決辦法,其他方法也有很多,但是這種是我覺得最好理解,最簡單的一種,(line-height:在html4.0的聲明中不起作用,但也值得一提,以后會用到的)
<div style="width:200px; height:200px; overflow:hidden; text-align:center; border:1px solid red; font-family: arial; line-height:198px; _font-size:180px;">
<img src="images/82.jpg" alt="" style="display:inline-block; vertical-align:middle; max-height:200px; max-width:200px;" >
</div>
第二種,類似 僅僅修改了line-height,為table-cell
<div style="width:200px; height:200px; text-align:center; border:1px solid red; vertical-align:middle;font-family: arial; display:table-cell; *font-size:175px;">
<img src="images/81.jpg" alt="" style="vertical-align:middle; max-height:200px; max-width:200px;" >
</div>
這兩種方法能居中,還能縮放,但是ie6對縮放的圖片有個問題,就是不能縮放,因為max-width這樣的屬性,ie6不支持,用到_width._height,但是這兩個都加上,就不管圖片多大,都縮放成200*200的了,很是變形,不但這樣,對於,小於容器大小的圖片也會這樣,所以,我不打算針對ie6加上_width,_height,加上overflow;hidden;這樣雖然在ie6下,大的圖片只顯示左上角的部分,但是其他的瀏覽器都能好,這已經是我找到的最簡單的方法,要么用js方法做。
我最終發給大家一個近乎完美的圖片自適應居中的解決方法,瑕疵已經說過了,但是瑕不掩瑜,不是嗎
<div style="width:200px; height:200px; overflow:hidden; text-align:center; border:1px solid red; font-family: arial; line-height:198px; _font-size:180px;">
<img src="images/83.jpg" alt="" style="display:inline-block; vertical-align:middle; max-height:200px; max-width:200px; " >
</div>
在上面的代碼,我修復一下,我把_width,_height,去掉了,因為這樣對ie6那種寬和高都大的圖片,效果很不好,這樣在ie6下,那種大圖片不會壓縮變形,而是隱藏多余的。
寫的不是很完美,期待你更好更多的意見。