CSS之清除浮動

2021-08-22 11:46:44 字數 1588 閱讀 1328

標籤可以是div   br hr

在浮動元素後使用乙個空元素如

,並在css中賦予.clear屬性即可清理浮動。亦可使用

或來進行清理。

優點:簡單,**少,瀏覽器相容性好。

缺點:需要新增大量無語義的html元素,**不夠優雅,後期不容易維護。

在浮動元素下加

.clear,但是在ie6下,塊元素有最小高度,即當height<19px時,預設為19px

解決方法:font-size:0;或overflow:hidden;  在浮動元素下加

用以清除浮動 

使用該方法是只需在需要清除浮動的元素中定義css屬性:overflow:auto

overflow:auto;是讓高度自適應,zoom:1;是為了相容ie6,也可以用height:1%;的方式解決,

注意:zoom不符合w3c標準。overflow:hidden也可以實現。

給浮動元素的容器也新增上浮動屬性即可清除內部浮動

after 偽元素(注意這不是偽類,而是偽元素,代表乙個元素之後最近的元素)和 iehack ,可以完美相容當前主流的各大瀏覽器,這裡的 iehack 指的是觸發 haslayout。

通過after偽元素實現元素末尾新增乙個看不見的塊元素(block element)清理浮動。

通過css偽元素在容器的內部元素最後新增了乙個看不見的空格""或點".",並且賦予clear屬性來清除浮動。需要注意的是為了ie6和ie7瀏覽器,要給clearfix這個class新增一條zoom:1;觸發haslayout。

after偽物件非ie瀏覽器支援,所以並不影響到ie/win瀏覽器。具體寫法可參照以下示例。使用中需注意以下幾點。

一、該方法中必須為需要清除浮動元素的偽物件中設定height:0,否則該元素會比實際高出若干畫素;

二、content屬性是必須的,但其值可以為空,討論該方法的時候content屬性的值設為".",

.listinfo:after

什麼都不做,給浮動元素後面的元素新增clear屬性。

方法與新增乙個空標籤類似,只是此處用浮動元素緊鄰的元素

在網頁主要布局時使用:after偽元素方法並作為主要清理浮動方式;

在小模組如ul裡使用overflow:hidden;(留意可能產生的隱藏溢位元素問題);

如果本身就是浮動元素則可自動清除內部浮動,無需格外處理;

正文中使用鄰接元素清理之前的浮動。

(1)、雙倍邊距bug處理 ie6 時,另乙個需要記住的事情是,如果在和浮動方向相同的方向上設定外邊距(margin),會引發

雙倍邊距。

快速修正:給浮動設定 display:inline; 而且不用擔心,它依然是塊級元素。

(2)、3畫素間距是指挨著浮動元素的文字會神奇的被踢出去3畫素,好像浮動元素的周圍有乙個奇怪的力場一樣。

快速修正:在受影響的文字上設定寬度或高度。

(3)、ie7 中,底邊距 bug是當浮動父元素有浮動子元素時,這些子元素的底邊距會被父元素忽略掉。

快速修正:用父元素的底內補白(padding)代替。

CSS之清除浮動

一 清除浮動的目的。1 當乙個父元素的高度不寫或為auto時,而且這個父元素內又有浮動的子元素,那麼這時候該父元素的高度將不會自動適應子元素的高度,也可以說高度是0px 有如下 123123 此 父元素高度不設定,而且裡面又有左浮動高度為300px的子元素。實際顯示效果為 可以看到,父div僅僅顯示...

css之清除浮動

清除浮動 在非ie瀏覽器 如firefox 下,當容器的高度為auto,且容器的內容中有浮動 float為left或right 的元素,在這種情況下,容器的高度不能自動伸長以適應內容的高度,使得內容溢位到容器外面而影響 甚至破壞 布局的現象。這個現象叫浮動溢位,為了防止這個現象的出現而進行的css處...

css之清除浮動

這幾天先整理下清除浮動的方法 產生問題的原因 在乙個容器中,有多個浮動的子元素,會造成顯示結果意想不到的問題。在css規範中,浮動定位不屬於正常的文件流,而是獨立定位的。浮動元素在文件流空出的位置,由後續的 非浮動 元素填充上去 塊級元素直接填充上去,若跟浮動元素的範圍發生重疊,浮動元素覆蓋塊級元素...