溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS清理浮動方式是怎樣的

發(fā)布時間:2021-11-18 14:06:41 來源:億速云 閱讀:85 作者:柒染 欄目:web開發(fā)

這篇文章給大家介紹CSS清理浮動方式是怎樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

CSS清理浮動有很多種方式,像使用 br 標簽自帶的 clear 屬,使用元素的 overflow,使用空標簽來設置 clear:both 等等。但考慮到兼容問題和語義化的問題,一般我們都會使用如下代碼來清理浮動。

/* 清理浮動 */    .clearfix:after     {    visibility:hidden;    display:block;    font-size:0;    content:" ";    clear:both;    height:0;    }    .clearfix   {    zoom:1;    }

其原理是,在「高級」瀏覽器中使用 :after 偽類在浮動塊后面加上一個非 display:none 的不可見塊狀內容來,并給它設置 clear:both 來清理浮動。在 ie6 和 7 中給浮動塊添加 haslayout 來讓浮動塊撐高并正常影響文檔流。

上面的代碼應該是現(xiàn)在主流的清理浮動方式?,F(xiàn)在支付寶就使用這樣的方式。而現(xiàn)在,Nicolas Gallagher 給出了一個更簡潔的方案:

.cf:before, .cf:after {  content:"";  display:table;  }  .cf:after {  clear:both;  }  .cf {  zoom:1;  }

原理還是一樣的。使用 :after 偽類來提供浮動塊后的 clear:both。不同的是,隱藏這個空白使用的是 display: table。而不是設置

visibility:hidden;  height:0;  font-size:0;

這樣的 hack。

值得注意的是這里中的 :before 偽類。其實他是來用處理 top-margin 邊折疊的,跟清理浮動沒有多大的關系。但因為浮動會創(chuàng)建 block formatting context,這樣浮動元素上的另而一元素上如果剛好有 margin-bottom 而這個浮動元素剛好有margin-top 的話,應該讓他們不折疊(雖然這種情況并不常見)。

關于CSS清理浮動方式是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

css
AI