几种两列自适应布局
总结几种两列自适应布局,在当前Chrome和FF下都测试过。
方案一:左自适应设margin-right,右定宽向右浮动:右div跑到第二行了,设置margin-top负高度。
方案二:左定宽向左浮动,右自适应设margin-left。
方案三:左适应,右定宽绝对定位 (额外设置父元素relative)。
方案四:左宽度100%,右负margin,左中子元素才是真正显示内容的,左子设margin-right。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style> 7 .header{ 8 border: 1px solid green; 9 height: 50px; 10 margin-bottom: 10px; 11 } 12 .logo{ 13 border: 1px solid red; 14 width: 44px; 15 height: 40px; 16 margin: 4px auto 4px 4px; 17 } 18 .username{ 19 border: 1px solid black; 20 width: 100px; 21 float: right; 22 text-align: right; 23 margin: 25px 4px 2px auto; 24 } 25 26 /* 方案一:左自适应设margin-right,右定宽向右浮动:右div跑到第二行了,设置margin-top负高度 */ 27 .content{ 28 border: 1px solid blue; 29 margin-right: 220px; 30 height: 500px; 31 } 32 .aside{ 33 border: 1px solid red; 34 width: 200px; 35 float: right; 36 margin-top: -500px; 37 } 38 39 /*方案二:左定宽向左浮动,右自适应设margin-left*/ 40 /*.content{ 41 border: 1px solid blue; 42 width: 200px; 43 height: 500px; 44 float: left; 45 } 46 .aside{ 47 border: 1px solid red; 48 margin-left: 210px; 49 }*/ 50 51 /*方案三:左适应,右定宽绝对定位 (额外设置父元素relative)*/ 52 /*.content{ 53 border: 1px solid blue; 54 margin-right: 220px; 55 height: 500px; 56 } 57 .aside{ 58 position: absolute; 59 width: 200px; 60 top: 0; 61 right: 0; 62 border: 1px solid red; 63 }*/ 64 65 /*方案四:左宽度100%,右负margin,左中子元素才是真正显示内容的,左子设margin-right*/ 66 67 /*.container{ 68 width: 100%; 69 float: left; 70 } 71 72 .content{ 73 border: 1px solid blue; 74 margin-right: 210px; 75 height: 500px; 76 } 77 .aside{ 78 border: 1px solid red; 79 width: 200px; 80 float: right; 81 margin-left: -204px; 82 }*/ 83 84 .footer{ 85 border: 1px solid black; 86 margin-top: 10px; 87 text-align: center; 88 } 89 90 </style> 91 </head> 92 <body> 93 <header class="header"> 94 <img class="logo" alt="LOGO"></img> 95 <span class="username" >用户名</span> 96 </header> 97 <section> 98 <!-- <section style="position: relative;"> --> 99 <!-- <div class="container" > 100 <div class="content" >content </div> 101 </div> --> 102 <div class="content" >content </div> 103 <div class="aside" >aside </div> 104 </section> 105 <footer class="footer" > 106 footer 107 </footer> 108 </body> 109 </html>
比较喜欢第四种,好理解。

浙公网安备 33010602011771号