CSS 布局总结——变宽度布局

变宽度布局

1-2-1 等比例变宽



总宽度设置 width: 85%; min-width: 650px; (关于IE6的min-width支持,可用)
content 设置 width: 66%; float: left;
side 设置 width: 33%; float: right;
加入clear 空div

HTML 结构:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <!DOCTYPE HTML>  
  2. <html>  
  3.     <head>  
  4.         <title>1-2-1 等比例变宽</title>  
  5.         <meta charset="utf-8" />          
  6.     </head>  
  7.       
  8.     <body>  
  9.         <div id="header">  
  10.             <p>Header</p>  
  11.         </div>  
  12.               
  13.         <div id="container">  
  14.             <div id="content">  
  15.                 <h2>Content Header</h2>  
  16.                 <div class="main">  
  17.                     <p>  
  18.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  19.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  20.                     </p>  
  21.                 </div>  
  22.             </div>  
  23.             <div id="side">  
  24.                 <h2>Side Header</h2>  
  25.                 <div class="main">  
  26.                     <p>  
  27.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  28.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  29.                     </p>  
  30.                 </div>  
  31.             </div>  
  32.             <div id="clear"></div>  
  33.         </div>  
  34.               
  35.         <div id="footer">  
  36.             <p>footer footer footer footer footer footer footer footer</p>  
  37.         </div>  
  38.     </body>  
  39. </html>  
CSS:
[css]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. body{  
  2.     font13px/1.5 Arial;  
  3.     margin0;  
  4.     padding0;  
  5. }  
  6. #header#container, #footer{  
  7.     width85%;  
  8.     margin10px auto;  
  9.     min-width650px;  
  10. }  
  11. #header{  
  12.     border1px solid black;  
  13.     background-color#666;  
  14. }  
  15. #content{  
  16.     border1px solid black;  
  17.     background-color#999;  
  18.     width66%;  
  19.     floatleft;  
  20. }  
  21. #side{  
  22.     border1px solid black;  
  23.     background-color#999;  
  24.     width33%;  
  25.     floatright;  
  26. }  
  27. #clear{  
  28.     clearboth;  
  29. }  
  30.   
  31. #footer{  
  32.     border1px solid black;  
  33.     background-color#CCC;  
  34. }  

1-2-1 单列变宽


side 固定宽度,content 随窗口宽度变化
side设置 width: 200px; float: left;
在content外层加入 contentWrap,contentWrap 设置为 width: 100%; margin-right: -220px; float: right;
而content 设置为 margin-right: 220px;
这样就利用了wrap实现了content的宽度为 100%-320px

HTML 结构:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <!DOCTYPE HTML>  
  2. <html>  
  3.     <head>  
  4.         <title>1-2-1 单列变宽</title>  
  5.         <meta charset="utf-8" />          
  6.     </head>  
  7.       
  8.     <body>  
  9.         <div id="header">  
  10.             <p>Header</p>  
  11.         </div>  
  12.               
  13.         <div id="container">  
  14.             <div id="contentWrap">  
  15.                 <div id="content">  
  16.                     <h2>Content Header</h2>  
  17.                     <div class="main">  
  18.                         <p>  
  19.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  20.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  21.                         </p>  
  22.                     </div>  
  23.                 </div>  
  24.             </div>  
  25.               
  26.             <div id="side">  
  27.                 <h2>Side Header</h2>  
  28.                 <div class="main">  
  29.                     <p>  
  30.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  31.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  32.                     </p>  
  33.                 </div>  
  34.             </div>  
  35.             <div id="clear"></div>  
  36.         </div>  
  37.               
  38.         <div id="footer">  
  39.             <p>footer footer footer footer footer footer footer footer</p>  
  40.         </div>  
  41.     </body>  
  42. </html>  

CSS:
[css]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. body{  
  2.     font13px/1.5 Arial;  
  3.     margin0;  
  4.     padding0;  
  5. }  
  6. #header#container, #footer{  
  7.     width85%;  
  8.     margin10px auto;  
  9.     min-width700px;  
  10. }  
  11. #header{  
  12.     border1px solid black;  
  13.     background-color#666;  
  14. }  
  15. #contentWrap{  
  16.     width100%;  
  17.     margin-right-220px;  
  18.     floatright;  
  19. }  
  20. #content{  
  21.     border1px solid black;  
  22.     background-color#999;  
  23.     margin-right220px;  
  24. }  
  25. #side{  
  26.     border1px solid black;  
  27.     background-color#999;  
  28.     width200px;  
  29.     floatleft;  
  30. }  
  31. #clear{  
  32.     clearboth;  
  33. }  
  34. #footer{  
  35.     border1px solid black;  
  36.     background-color#CCC;  
  37. }  

1-3-1 单侧列宽固定




nav 固定宽度 width: 200px; float: left;
在content 和 side 外层加入两层 div:outerWrap 和 innerWrap 
outerWrap 设置为 width: 100%; margin-right: -210px; float: right;
innerWrap 设置为 margin-right: 210px;
然后content 和 side 相当于在 innerWrap 内部等比例变宽

HTML结构:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <!DOCTYPE HTML>  
  2. <html>  
  3.     <head>  
  4.         <title>1-3-1 单侧列宽固定</title>  
  5.         <meta charset="utf-8" />          
  6.     </head>  
  7.       
  8.     <body>  
  9.         <div id="header">  
  10.             <p>Header</p>  
  11.         </div>  
  12.               
  13.         <div id="container">  
  14.             <div id="nav">  
  15.                 <h2>Nav Header</h2>  
  16.                 <div class="main">  
  17.                     <p>  
  18.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  19.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  20.                     </p>  
  21.                 </div>  
  22.             </div>  
  23.               
  24.             <div id="outerWrap">  
  25.                 <div id="innerWrap">  
  26.                     <div id="content">  
  27.                         <h2>Content Header</h2>  
  28.                         <div class="main">  
  29.                             <p>  
  30.                                 文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  31.                                 文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  32.                             </p>  
  33.                         </div>  
  34.                     </div>  
  35.                     <div id="side">  
  36.                         <h2>Side Header</h2>  
  37.                         <div class="main">  
  38.                             <p>  
  39.                                 文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  40.                                 文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  41.                             </p>  
  42.                         </div>  
  43.                     </div>  
  44.                 </div>  
  45.             </div>  
  46.             <div id="clear"></div>  
  47.         </div>  
  48.               
  49.         <div id="footer">  
  50.             <p>footer footer footer footer footer footer footer footer</p>  
  51.         </div>  
  52.     </body>  
  53. </html>  

CSS:
[css]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. body{  
  2.     font13px/1.5 Arial;  
  3.     margin0;  
  4.     padding0;  
  5. }  
  6. #header#container, #footer{  
  7.     width85%;  
  8.     margin10px auto;  
  9.     min-width800px;  
  10. }  
  11. #header{  
  12.     border1px solid black;  
  13.     background-color#666;  
  14. }  
  15. #nav{  
  16.     border1px solid black;  
  17.     background-color#999;  
  18.     width200px;  
  19.     floatleft;  
  20. }  
  21. #outerWrap{  
  22.     width100%;  
  23.     margin-right-210px;  
  24.     floatright;  
  25. }  
  26. #innerWrap{  
  27.     margin-right210px;  
  28. }  
  29. #content{  
  30.     border1px solid black;  
  31.     background-color#999;  
  32.     width66%;  
  33.     floatleft;  
  34. }  
  35. #side{  
  36.     border1px solid black;  
  37.     background-color#999;  
  38.     width33%;  
  39.     floatright;  
  40. }  
  41. #clear{  
  42.     clearboth;  
  43. }  
  44.   
  45. #footer{  
  46.     border1px solid black;  
  47.     background-color#CCC;  
  48. }  

1-3-1 中间列宽固定


content 宽度固定
在 nav 和 side 分别加上外层 div :navWrap 和 sideWrap
navWrap 设置为 width: 50%; margin-left: -210px; float: left;
nav 设置为 margin-left: 210px;
同理,sideWrap 和 side 也做类似的设置

HTML结构:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <!DOCTYPE HTML>  
  2. <html>  
  3.     <head>  
  4.         <title>1-3-1 中间列宽固定</title>  
  5.         <meta charset="utf-8" />          
  6.     </head>  
  7.       
  8.     <body>  
  9.         <div id="header">  
  10.             <p>Header</p>  
  11.         </div>  
  12.               
  13.         <div id="container">  
  14.             <div id="navWrap">  
  15.                 <div id="nav">  
  16.                     <h2>Nav Header</h2>  
  17.                     <div class="main">  
  18.                         <p>  
  19.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  20.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  21.                         </p>  
  22.                     </div>  
  23.                 </div>  
  24.             </div>  
  25.       
  26.             <div id="content">  
  27.                 <h2>Content Header</h2>  
  28.                 <div class="main">  
  29.                     <p>  
  30.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  31.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  32.                     </p>  
  33.                 </div>  
  34.             </div>  
  35.               
  36.             <div id="sideWrap">  
  37.                 <div id="side">  
  38.                     <h2>Side Header</h2>  
  39.                     <div class="main">  
  40.                         <p>  
  41.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  42.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  43.                         </p>  
  44.                     </div>  
  45.                 </div>  
  46.             </div>  
  47.               
  48.             <div id="clear"></div>  
  49.         </div>  
  50.               
  51.         <div id="footer">  
  52.             <p>footer footer footer footer footer footer footer footer</p>  
  53.         </div>  
  54.     </body>  
  55. </html>  

CSS:
[css]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. body{  
  2.     font13px/1.5 Arial;  
  3.     margin0;  
  4.     padding0;  
  5. }  
  6. #header#container, #footer{  
  7.     width85%;  
  8.     margin10px auto;  
  9.     min-width700px;  
  10. }  
  11. #header{  
  12.     border1px solid black;  
  13.     background-color#666;  
  14. }  
  15. #navWrap{  
  16.     width50%;  
  17.     margin-left-210px;  
  18.     floatleft;  
  19. }  
  20. #nav{  
  21.     border1px solid black;  
  22.     background-color#999;  
  23.     margin-left210px;  
  24. }  
  25. #content{  
  26.     border1px solid black;  
  27.     background-color#999;  
  28.     width400px;  
  29.     floatleft;  
  30.     margin-left10px;  
  31. }  
  32. #sideWrap{  
  33.     width49.9%;  
  34.     margin-right-210px;  
  35.     floatright;  
  36. }  
  37. #side{  
  38.     border1px solid black;  
  39.     background-color#999;  
  40.     margin-right210px;  
  41. }  
  42. #clear{  
  43.     clearboth;  
  44. }  
  45.   
  46. #footer{  
  47.     border1px solid black;  
  48.     background-color#CCC;  
  49. }  

1-3-1 双侧列宽固定


nav 和 side 宽度固定
nav 设置为 width: 200px; float: left;
在 content 和 side 外层加上 outerWrap 和 innerWrap ,这样就相当于单列固定宽度的设置,nav 固定宽度
然后再在 content 外层加上 contentWrap ,也相当于在 innerWrap 内部单列固定宽度设置,side 固定宽度

HTML 结构:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <!DOCTYPE HTML>  
  2. <html>  
  3.     <head>  
  4.         <title>1-3-1 双侧列宽固定</title>  
  5.         <meta charset="utf-8" />          
  6.     </head>  
  7.       
  8.     <body>  
  9.         <div id="header">  
  10.             <p>Header</p>  
  11.         </div>  
  12.               
  13.         <div id="container">  
  14.             <div id="nav">  
  15.                 <h2>Nav Header</h2>  
  16.                 <div class="main">  
  17.                     <p>  
  18.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  19.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  20.                     </p>  
  21.                 </div>  
  22.             </div>  
  23.               
  24.             <div id="outerWrap">  
  25.                 <div id="innerWrap">  
  26.                     <div id="contentWrap">  
  27.                         <div id="content">  
  28.                             <h2>Content Header</h2>  
  29.                             <div class="main">  
  30.                                 <p>  
  31.                                     文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  32.                                     文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  33.                                 </p>  
  34.                             </div>  
  35.                         </div>  
  36.                     </div>  
  37.                       
  38.                     <div id="side">  
  39.                         <h2>Side Header</h2>  
  40.                         <div class="main">  
  41.                             <p>  
  42.                                 文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  43.                                 文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  44.                             </p>  
  45.                         </div>  
  46.                     </div>  
  47.                 </div>  
  48.             </div>  
  49.             <div id="clear"></div>  
  50.         </div>  
  51.               
  52.         <div id="footer">  
  53.             <p>footer footer footer footer footer footer footer footer</p>  
  54.         </div>  
  55.     </body>  
  56. </html>  

CSS:
[css]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. body{  
  2.     font13px/1.5 Arial;  
  3.     margin0;  
  4.     padding0;  
  5. }  
  6. #header#container, #footer{  
  7.     width85%;  
  8.     margin10px auto;  
  9.     min-width800px;  
  10. }  
  11. #header{  
  12.     border1px solid black;  
  13.     background-color#666;  
  14. }  
  15. #nav{  
  16.     border1px solid black;  
  17.     background-color#999;  
  18.     width200px;  
  19.     floatleft;  
  20. }  
  21. #outerWrap{  
  22.     width100%;  
  23.     margin-right-210px;  
  24.     floatright;  
  25. }  
  26. #innerWrap{  
  27.     margin-right210px;  
  28. }  
  29. #contentWrap{  
  30.     width100%;  
  31.     margin-left-110px;  
  32.     floatleft;  
  33. }  
  34. #content{  
  35.     border1px solid black;  
  36.     background-color#999;  
  37.     margin-left110px;  
  38. }  
  39. #side{  
  40.     border1px solid black;  
  41.     background-color#999;  
  42.     width100px;  
  43.     floatright;  
  44. }  
  45. #clear{  
  46.     clearboth;  
  47. }  
  48.   
  49. #footer{  
  50.     border1px solid black;  
  51.     background-color#CCC;  
  52. }  

1-3-1 中列和侧列宽固定

nav 和 content 固定宽度,side 外层加上 sideWrap ,相当于1-2-1单列变宽

HTML 结构:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <!DOCTYPE HTML>  
  2. <html>  
  3.     <head>  
  4.         <title>1-3-1 中列和侧列宽固定</title>  
  5.         <meta charset="utf-8" />          
  6.     </head>  
  7.       
  8.     <body>  
  9.         <div id="header">  
  10.             <p>Header</p>  
  11.         </div>  
  12.               
  13.         <div id="container">  
  14.           
  15.             <div id="nav">  
  16.                 <h2>Nav Header</h2>  
  17.                 <div class="main">  
  18.                     <p>  
  19.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  20.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  21.                     </p>  
  22.                 </div>  
  23.             </div>  
  24.               
  25.             <div id="content">  
  26.                 <h2>Content Header</h2>  
  27.                 <div class="main">  
  28.                     <p>  
  29.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  30.                         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  31.                     </p>  
  32.                 </div>  
  33.             </div>  
  34.               
  35.             <div id="sideWrap">  
  36.                 <div id="side">  
  37.                     <h2>Side Header</h2>  
  38.                     <div class="main">  
  39.                         <p>  
  40.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>  
  41.                             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本  
  42.                         </p>  
  43.                     </div>  
  44.                 </div>  
  45.             </div>  
  46.             <div id="clear"></div>  
  47.         </div>  
  48.               
  49.         <div id="footer">  
  50.             <p>footer footer footer footer footer footer footer footer</p>  
  51.         </div>  
  52.     </body>  
  53. </html>  

CSS:
[css]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. body{  
  2.     font13px/1.5 Arial;  
  3.     margin0;  
  4.     padding0;  
  5. }  
  6. #header#container, #footer{  
  7.     width85%;  
  8.     margin10px auto;  
  9.     min-width800px;  
  10. }  
  11. #header{  
  12.     border1px solid black;  
  13.     background-color#666;  
  14. }  
  15. #nav{  
  16.     border1px solid black;  
  17.     background-color#999;  
  18.     width200px;  
  19.     floatleft;  
  20. }  
  21. #content{  
  22.     border1px solid black;  
  23.     background-color#999;  
  24.     margin-left10px;  
  25.     width400px;  
  26.     floatleft;  
  27. }  
  28. #sideWrap{  
  29.     width100%;  
  30.     margin-right-620px;  
  31.     floatright;  
  32. }  
  33. #side{  
  34.     border1px solid black;  
  35.     background-color#999;  
  36.     margin-right620px;  
  37. }  
  38. #clear{  
  39.     clearboth;  
  40. }  
  41.   
  42. #footer{  
  43.     border1px solid black;  
  44.     background-color#CCC;  
  45. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值