您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么用CSS清除浮動,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
css出現清除浮動的問題的原因:在標準流下面,父元素沒有設置高度屬性,且父元素中的子元素是浮動,由于浮動元素不再占用原文檔流的位置,浮動元素的高度不會計算在父元素的高度中,即呈現塌陷的狀態。
一、為什么會出現清除浮動的問題?
(學習視頻推薦:java視頻教程)
如果在標準流下面一個父元素沒有設置高度屬性,那么它的高度就會被子元素的高度撐開,即自適應。但是如果這個父元素中的子元素是浮動的話,由于浮動元素不再占用原文檔流的位置,浮動元素的高度不會計算在父元素的高度中,父元素的高度會為0,即呈現塌陷的狀態。我們為了解決這類問題,提出了清除浮動。
二、怎么用CSS清除浮動?
1、直接給父元素添加高度
但是在浮動元素高度不確定的時候不適用
2、直接利用clear:both
直接在父元素的最底下 添加一個塊級標簽(p,div等),然后賦予它clear:both 來清除浮動。
但是這樣會產生大量沒有用的空元素,浪費資源,不是最優解
3、利用BFC:
(1)什么是BFC
直譯為"塊級格式化上下文"。它是一個獨立的渲染區域,是一個獨立的布局環境,其中的元素布局是不受外界的影響,并且在一個BFC中,塊盒與行盒(行盒由一行中所有的內聯元素所組成)都會垂直的沿著其父元素的邊框排列。BFC就是頁面上的一個隔離的獨立容器,容器里面的子元素不會影響到外面的元素。反之也如此。
(2)解決方案一:
給父元素樣式添加overflow:hidden(只要不是visible),添加這個語句后,會創建一個BFC,會把浮動元素困在BFC中,不讓其脫離文檔流,會先計算浮動元素的高度,再hidden隱藏,父元素獲得高度,就會撐開
(3)解決方案二:
給父元素添加 浮動float:right(只要不是none),添加這個語句也會創建一個BFC,原理相同,但是有時候我們不需要讓父元素浮動,與我們的需求相違背
4、利用偽類
通過父元素的::after偽元素來生成浮動元素的兄弟元素,然后兄弟元素使用clear:both方法。
關于怎么用CSS清除浮動就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。