overflow:hidden与浮动的关系
1 @{ 2 ViewBag.Title = "Index"; 3 } 4 5 6 7 8 9 <style type="text/css"> 10 #wai, #wai_1, #wai_2 { 11 } 12 13 #wai { 14 width: 500px; 15 background: white; 16 height: auto; 17 border: 2px solid blue; 18 } 19 20 #nei { 21 width: 300px; 22 height: 300px; 23 background: red; 24 } 25 26 27 28 29 #wai_1 { 30 margin-top: 20px; 31 width: 500px; 32 background: white; 33 height: auto; 34 border: 2px solid blue; 35 } 36 37 #nei_1 { 38 width: 300px; 39 height: 300px; 40 background: red; 41 float: left; 42 } 43 44 45 #wai_2 { 46 overflow: hidden; 47 margin-top: 313px; 48 width: 500px; 49 background: white; 50 height: auto; 51 border: 2px solid blue; 52 } 53 54 #nei_2 { 55 width: 300px; 56 height: 300px; 57 background: red; 58 float: left; 59 } 60 </style> 61 62 <html> 63 <body> 64 <div id="wai"> 65 <div id="nei"> 66 #wai { 67 width: 500px; 68 background: green; 69 height: auto; 70 border:2px solid blue 71 72 } 73 <br /> 74 #nei { 75 width: 300px; 76 height: 300px; 77 background: red; 78 opacity: 0.5; 79 80 } 81 <br /> 82 外DIV高度随着内DIV的高度自动适应(其中内DIV没有设置浮动元素:float) 83 </div> 84 </div> 85 86 87 88 <div id="wai_1"> 89 <div id="nei_1"> 90 #wai_1 { 91 margin-top:20px; 92 width: 500px; 93 background: white; 94 height: auto; 95 border:2px solid blue 96 97 98 } 99 <br /> 100 #nei_1 { 101 width: 300px; 102 height: 300px; 103 background: red; 104 opacity: 0.5; 105 float:left; 106 107 } 108 <br /> 109 外DIV高度没有内DIV的高度自动适应(其中内DIV有设置浮动元素:float) 110 </div> 111 </div> 112 113 114 <div id="wai_2"> 115 <div id="nei_2"> 116 #wai_2 { 117 margin-top:313px; 118 width: 500px; 119 background: white; 120 height: auto; 121 border:2px solid blue; 122 overflow:hidden 123 124 125 } 126 <br /> 127 #nei_2 { 128 width: 300px; 129 height: 300px; 130 background: red; 131 opacity: 0.5; 132 float:left; 133 134 } 135 <br /> 136 外DIV高度随着内DIV的高度自动适应(其中内DIV有设置浮动元素:float,但同时外div有设置 overflow:hidden) 137 </div> 138 </div> 139 区别:<br /> 140 第一个案例子DIV没有设置浮动元素float,<br /> 141 第二个案例子DIV设置了浮动元素: float:left;<br /> 142 现象:<br /> 143 第一个案例的子DIV高度能与父DIV(没有设置浮动元素)高度适应,<br /> 144 第二个案例的子DIV高度能与父DIV(有设置浮动元素float:left;)高度不能适应,<br /> 145 子DIV设置了浮动元素float没有撑开的原因:当子DIV加上浮动float这个属性的时候,子DIV已经脱离了父div(相对独立),也就是说父DIV的宽高是多少,对于已经脱离了父DIV的子DIV来说,子DIV的的变化不影响父DIV。(关键子:内外已经脱离)<br /> 146 第三个案例:子DIV(有设置浮动元素float:left;)为什么父DIV能够自适应呢?(关键:父DIV: overflow:hidden)<br /> 147 虽然当子DIV加上浮动float这个属性的时候,此时子DIV已经脱离了父div(相对独立),也就是说父DIV的宽高是多少,对于已经脱离了的子DIV来说,子DIV的的变化不影响父DIV。但我们在父DIV:设置了 overflow:hidden,重新让父的宽高与子DIV关联在一起,达到自适应的效果 148 </body> 149 </html>

浙公网安备 33010602011771号