浮動元素引起的問題: 1. 父元素的高度無法被撐開,影響與父元素同級的元素2. 與浮動元素同級的非浮動元素會跟隨其后3. 若非第一個元素浮動寨躁,則該元素之前的元素也需要浮動穆碎,否則會影響頁面顯示的結(jié)構(gòu)具體如下:1. clear:both;??顧名思義清除全部樣式的意思。主要是用于對多個div的浮動清除职恳,在父元素里最后一個子元素里加上屬性從而使父元素不受浮動的影響所禀!2. overflow:hidden;?? ?(1)當父元素里面的子元素用了float這個屬性后,其父元素會感知不到里面的子元素话肖,就會存在高度塌陷的問題北秽。這時只需在父元素里加overflow:hidden;即可使父元素被里面的子元素撐開,解決高度塌陷最筒! ? ( 2 ) 從字面上來理解就是超出部分影藏的意思贺氓。比如說一個div設(shè)置了height和width,加上overflow:hidden;后床蜘,就可以保持div的寬度和高度不變辙培。若是div里面添加的內(nèi)容超出了本身的高和寬,那么超出的部分就會被隱藏掉邢锯!這也是需要注意的地方.3.clearfix:after{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?content:" ";//內(nèi)容可寫也可以為空 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?display:block;//加入的這個元素轉(zhuǎn)換為塊級元素 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?height:0;//高度為0扬蕊; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?line-height:0;//行高為0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?font-size:0;//字體大小為0丹擎; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?visibility:hidden;//可見度設(shè)為隱藏尾抑,但仍然占據(jù)空間只是看不見 ? ? ? ? ? ? ? ? ? }.clearfix{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*zoom:1;}//針對于IE6的因為它不支持:after偽類,而zoom:1可以讓IE6里的元素清除浮動來包裹內(nèi)部的元素蒂培。.clearfix 的原理就是.clearfix:after這個偽類會在用到.clearfix的元素后面插入一個塊元素里面有clear:both;從而清除了浮動的影響再愈。然后在需要清除浮動的元素里加上.clearfix這個類名就可以了。