如何使整個頁面內容置中,如何使高度適應內容自動調整。這是學習CSS布局最常見的問題。下面就給出一個實際的例子,並詳細解釋。(本文的經驗和是藍色理想論壇xpoint、guoshuang共同討論得出的。)
首先先按這裡看實際運行效果,這個頁面在mozilla、opera和IE瀏覽器中均可以實現置中和高度自適應。我們來分析代碼:
CSS:
| 代碼如下 |
複製代碼 |
body{ background:#999; text-align:center; color: #333; font-family:arial,verdana,sans-serif; } #header{ width:776px; margin-right: auto; margin-left: auto; padding: 0px; background: #EEE; height:60px; text-align:left; } #contain{ margin-right: auto; margin-left: auto; width: 776px; } #mainbg{ width:776px; padding: 0px; background: #60A179; float: left; } #right{ float: right; margin: 2px 0px 2px 0px; padding:0px; width: 574px; background: #ccd2de; text-align:left; } #left{ float: left; margin: 2px 2px 0px 0px; padding: 0px; background: #F2F3F7; width: 200px; text-align:left; } #footer{ clear:both; width:776px; margin-right: auto; margin-left: auto; padding: 0px; background: #EEE; height:60px;} .text{margin:0px;padding:20px;} HTML: <body> <div id="header">header</div> <div id="contain"> <div id="mainbg"> <div id="right"> <div class="text">right<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p></div> </div> <div id="left"> <div class="text">left</div> </div> </div> </div> <div id="footer">footer</div> </body>
|
首先我們定義body和頂部第一行#header,這裡面的關鍵是body中的text-align:center;和header中的margin-right: auto;margin-left: auto;,通過這兩句使得header置中。註:其實定義text-align:center;就已經在IE中實現置中,但在mozilla中無效,需要設定margin:auto;才可以實現mozilla中的置中。