什麼是文檔流?
對一個網頁而言,body 元素下的任意元素,根據其前後順序,組成一個個上下關係,這便是文檔流。瀏覽器根據這些元素的順序去顯示它們在網頁之中的位置。文檔流是瀏覽器的默認顯示規則。
什麼是浮動?
float具有屬性值( left\right\none ),當設置了 float 屬性後,浮動元素會被移出文檔流,不會影響到塊狀盒子的佈局而只會影響內聯盒子(通常是文本)的排列。
爲什麼要清除浮動?
爲了防止浮動溢出
什麼是浮動溢出?
當容器的高度(height)爲auto,且容器的內容中有浮動動(float/right)的元素,在這種情況下,容器不能自動伸長以適應內容的高度,使得內容溢出容器外面而影響佈局的現象。這個現象叫浮動溢出,爲了防止這個現象的出現而進行的CSS處理,就叫CSS清除浮動。
如何清除浮動?
- 使用<div class="cls"></div>,樣式:.cls{clear:both};,這樣的缺點是會導致多餘代碼出現。
- 以容器標籤就用 overflow:atuo;爲了兼容IE6,還需要加上zoom:1;
- 使用after僞對象清楚浮動。該方法只適用於非IE瀏覽器。#layout:after{display:block;clear:both;content:"";visibility:hidden;height:0;}
隨時性地對父級元素清除浮動被 認爲是書寫CSS的良好習慣。