div水平置中很容易,設定css樣式 text-align: center; 就可以了。
垂直置中也有個屬性 vertical-align: middle; 這個屬性普通設定是沒有效果的。
第一種方法:通過一個空白圖片可以達到垂直置中的效果。
| 代碼如下 |
複製代碼 |
<html> <title>圖片置中</title> <style> /*定義垂直置中*/ #test * { margin: 0px; padding: 0px; vertical-align: middle; } /*定義div大小,以及水平置中*/ #test { background: #fff000; width: 500px; height: 500px; text-align: center; } /*輔助圖片高度填滿div,寬度為0,所以看不到這個圖片*/ #img { width: 0px; height: 100%; } </style> <body> <div id="test"> <!--輔助圖片 --> <img alt="" src="" id="img"> <!--要置中的圖片 --> <img alt="" src="skin/images/top/logo.jpg"> </div> </body> </html> |
個人覺得vertical-align: middle 是相對於左邊的高度垂直置中的,我給左邊一個填滿div的圖片,就可以實現垂直置中了。
第二種方法:往div裡面加表格。
| 代碼如下 |
複製代碼 |
<html> <style> #a { background: #fff000; width: 500px; height: 500px; overflow: hidden; text-align: center; } </style> <body> <div id="a"> <table width="100%" height="100%"> <tr> <td align="center"> <img src="skin/images/top/logo.jpg" /> </td> </tr> </table> </div> </body> </html> |
在表格裡就很容易設定置中了。
經測試,這兩種做法都沒有瀏覽器不相容的問題。推薦用第一種方法。
另外,說一下overflow: hidden; 這個屬性,當圖片大小超出div的大小時,會影藏超出的部分。不設定的話,圖片會全部顯示,覆蓋在div上。