CSS網頁布局入門教程5:二列寬度自適應_基礎教程

來源:互聯網
上載者:User
從二列固定寬度入手,開始嘗試二列布局的情況下,左右欄寬度能夠做到自適應,從一列調適型配置中我們知道,設定自適應主要通過寬度的百分比值設定,因此在二列寬度自適應的布局中也同樣是對百分比寬度值的設計,繼續上面的CSS代碼,我們得新定義二列的寬度值:

複製代碼 代碼如下:
#left {
background-color: #E8F5FE;
border: 1px solid #A9C9E2;
float: left;
height: 300px;
width: 20%;
}
#right {
background-color: #F2FDDB;
border: 1px solid #A5CF3D;
float: left;
height: 300px;
width: 70%;
}

左欄寬度設定為寬度20%,右欄寬度設定為寬度的70%,看上去像一個左側為導航,右側為內容的常見網頁形式。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>二列寬度自適應——AA25.CN</title> <style type="text/css"> <!-- #left { background-color: #E8F5FE; border: 1px solid #A9C9E2; float: left; height: 300px; width: 20%; } #right { background-color: #F2FDDB; border: 1px solid #A5CF3D; float: left; height: 300px; width: 70%; } --> </style> </head> <body> 左列——(AA25.CN) 右列——二列寬度自適應(AA25.CN) </body> </html>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
為什麼沒有將右欄設定為80%,從而實現整體100%的效果?
這個問題的原因香從對象的其它屬性說起,大家應該還記得,為了使布局在預覽中更清楚,我們使用了border屬性,使得兩個對象都具有1px的邊框,而在CSS布局中,一個對象的寬度,不僅僅由width值來決定,一個對象的真實寬度是由對象本身的寬、對象的左右邊距,以及左右邊框,還有內邊距這些屬性相加而成,因此左面的對象不僅僅是瀏覽器視窗的20%的寬度,還應該加上左邊的邊框的寬度。這樣算下來左右欄都超出了自身的百分比寬度,最終的寬度也超過了瀏覽器視窗的寬度,因此右欄將被擠掉第二行顯示,從而推動了左右分欄的效果,因此這裡使用了並非100%的寬度之和,而在實際應用之中,可以通過避免邊框及邊距的使用,而達到左右與瀏覽器填滿的效果。這樣一個有關寬度計算的問題,是CSS布局中相當重要的被稱為為盒模型的問題,在以後的教程中會詳細講解,請繼續關注本站的教程。
本例的製作過程和CSS網頁布局入門教程4:二列固定寬度一樣,只不過在設定寬度時把固定的固定的200px寬度分別換成20%和70%,在此不再贅述。
  • 相關文章

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.