DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> CSS布局之聖杯布局與雙飛翼布局
CSS布局之聖杯布局與雙飛翼布局
編輯:CSS詳解     
聖杯布局跟雙飛翼布局的實現,目的都是左右兩欄固定寬度,中間部分自適應。接下來通過本文教程給大家介紹CSS布局之聖杯布局與雙飛翼布局,感興趣的朋友一起學習吧

按照我的理解,其實聖杯布局跟雙飛翼布局的實現,目的都是左右兩欄固定寬度,中間部分自適應。
聖杯布局

實現原理
Html代碼中,middle部分首先要放在container的最前部分,然後是left,right
1.將三者都設置 float:left, position:relative (因為相對定位後面會用到)
2.middle設置 width:100% 占滿一行
3.此時middle占滿一行,所以要把left拉到middle所在行的最左邊,使用 margin-left:-100%
4.這時left拉回到middle所在行的最左邊,但會覆蓋middle內容的左端,要把middle內容拉出來,所以在外圍container加上 padding:0 210px
5.middle內容拉出來了,但left也跟著出來了,所以要還原,就對left使用相對定位 left:-210px
6.同理,right要拉到middle所在行的最右邊,使用 margin-left:-210px,right:-210px
實現代碼
JavaScript Code復制內容到剪貼板

  1. <!DOCTYPE Html>
  2. <Html lang="en-US">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>聖杯布局</title>
  6. <style type="text/CSS">
  7. body {
  8. text-align: center;;
  9. }
  10. #demo {
  11. margin: auto;
  12. }
  13. #header, #footer {
  14. height: 50px;
  15. background-color: #aaa;
  16. }
  17. #container {
  18. overflow: hidden;
  19. margin: 10px 0;
  20. padding:0 210px;
  21. }
  22. #left {
  23. background-color: red;
  24. float:left;
  25. position:relative;
  26. left:-210px;
  27. width:200px;
  28. margin-left:-100%;
  29. }
  30. #right {
  31. background-color: green;
  32. width: 200px;
  33. margin-left: -200px;
  34. float: left;
  35. right: -210px;
  36. position: relative;
  37. }
  38. #middle {
  39. background-color: blue;
  40. float:left;
  41. width:100%;
  42. }
  43. </style>
  44. </head>
  45. <body>
  46. <div id="demo">
  47. <header id="header">頭部</header>
  48. <div id="container">
  49. <div id="middle">
  50. middle<br>主內容區域
  51. </div>
  52. <div id="left">
  53. left<br>左側邊欄區域
  54. </div>
  55. <div id="right">
  56. right<br>右側邊欄區域
  57. </div>
  58. </div>
  59. <footer id="footer">底部</footer>
  60. </div>
  61. </body>
  62. </Html>

雙飛翼布局

實現原理
Html代碼中,middle部分首先要放在container的最前部分,然後是left,right
1.將三者都設置 float:left
2.middle設置 width:100% 占滿一行
3.此時middle占滿一行,所以要把left拉到middle所在行的最左邊,使用 margin-left:-100%,同理right使用 margin-left:-200px
4.此時middle的內容被覆蓋,要把middle的內容拉出來,除了使用外圍container的padding,還可以考慮使用margin,給middle增加一個內層div -- middle_content, 然後設置 margin:0 210px
實現代碼

JavaScript Code復制內容到剪貼板

  1. <!DOCTYPE Html>
  2. <Html lang="en-US">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>雙飛翼布局</title>
  6. <style type="text/CSS">
  7. body {
  8. text-align: center;;
  9. }
  10. #header, #footer {
  11. height: 50px;
  12. background-color: #aaa;
  13. }
  14. #container {
  15. overflow: hidden;
  16. margin: 10px 0;
  17. }
  18. #left {
  19. background-color: red;
  20. float:left;
  21. width:200px;
  22. margin-left: -100%;
  23. }
  24. #right {
  25. background-color: green;
  26. width: 200px;
  27. float: left;
  28. margin-left: -200px;
  29. }
  30. #middle {
  31. float: left;
  32. width: 100%;
  33. }
  34. #middle_content {
  35. background-color: blue;
  36. margin: 0 210px;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div id="demo">
  42. <header id="header">頭部</header>
  43. <div id="container">
  44. <div id="middle">
  45. <div id="middle_content">
  46. middle_content<br>主內容區域
  47. </div>
  48. </div>
  49. <div id="left">
  50. left<br>左側邊欄區域
  51. </div>
  52. <div id="right">
  53. right<br>右側邊欄區域
  54. </div>
  55. </div>
  56. <footer id="footer">底部</footer>
  57. </div>
  58. </body>
  59. </Html>

關於CSS布局之聖杯布局與雙飛翼布局 的相關知識就給大家介紹這麼多,希望對大家有所幫助!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved