原因:內(nèi)部的DIV因為float:left之后,就丟失了clear:both和display:block的樣式,所以外部的DIV不會被撐開。
以下是幾種解決辦法(假設(shè)父div的class為“container”):
方法1、使用偽類
container::after{ display: block; height:0; content: ''; clear: both; }container{ display: inline-block; /*弟一種撐開辦法,底下會有部分被遮到,所以添加這行,就玩美了*/}
方法2、不撐開的原理是overflow不可見,所以給父div添加overflow:auto;就行,IE要用_height:1%;
container{ overflow: auto;/*讓主要內(nèi)容區(qū)隨內(nèi)容自動撐開*/ overflow-y:hidden;/*把出現(xiàn)的滾動條隱藏,但是底下會被遮到一點,不玩美*/ _height:1%;/*對IE的hack*/ }
方法3、可以專門醉后添加一個子div用來清除浮動:
<div class="clear"></div>
設(shè)置樣式.
clear{clear:both; font-size:0; height:1%;}
方法4、可以設(shè)置父div的高度(也就是手動撐開,不靈活);
方法5、直接給父div設(shè)置 display: inline-block; 這樣也自動撐開
方法6、直接給子div設(shè)置 display: inline-block; 也能自動撐開,但是排版問題有待研究學習
方法7、從網(wǎng)上還發(fā)現(xiàn)了一種方法,給父div增加屬性:display:table;
方法8、 子div浮動我就套不住你?OK,我讓父div也浮動: 父div設(shè)置 float: left; 也可以
上一篇:沒有了!
下一篇:沒有了!