CSS清除浮動的幾種方法

2021-03-02 web前端開發

來源 | https://www.html.cn/web/css/19613.html

今天這篇文章給大家介紹一下CSS清除浮動的幾種方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。首先這裡就不講為什麼我們要清楚浮動,反正不清除浮動事多多。1、在浮動元素後面加一個空的div,並為它清除浮動
<div>   <div>浮動</div>   <div></div>   <div>不想被浮動影響</div></div>

css代碼:

.wrap{  width:500px;  height:400px;  border:1px solid red;  margin:0 auto;}.float{  width:200px;  height:200px;  background:#ccc;  float:left;}.nofloat{    width:300px;    height:150px;    background:red;}

現在雖然加了一個空的div,但是並沒有給它清除浮動,所以目前的效果就是第三個子元素.nofloat還是收到浮動的影響。

OK,現在給.clear加上清除浮動:

刷新一下效果就出來了:

PS:這種情況比較適合元素之間是垂直排列布局的,為了不受彼此浮動的影響。

2、利用BFC特性清除浮動

html代碼:

<div>   <div>浮動</div>   <div>不想被浮動影響</div></div>

css代碼:

.wrap{  width:500px;  border:1px solid red;  margin:0 auto;  overflow:hidden;}.float{  width:200px;  height:200px;  background:#ccc;  float:left;}.nofloat{    width:300px;    height:150px;    background:red;    overflow:hidden;}

效果是這樣的:

這裡父容器是沒有設置固定高度的,本來第一個子元素浮動之後,父元素的高度會塌陷到跟第二個子元素一樣高,但由於這裡分別給第二個子元素和父元素都設置了overflow:hidden ,所以它們都生成了一個新的BFC區域,根據上文提供的BFC布局規則可以得知:BFC區域不會與float box 重疊;計算BFC高度時浮動元素的高度也參與計算。所以就得到清除浮動的效果。說得比較繞,但其實清除浮動得根據自己開發中的實際情況合理使用。

3、使用:after偽元素,給浮動元素的父元素清除浮動

html代碼:

<div>   <div>浮動</div></div>

css代碼:

.wrap{  width:500px;  border:1px solid red;  margin:0 auto;}.float{  width:200px;  height:200px;  background:#ccc;  float:left;}

此時子元素浮動了,脫離了文檔流,所以父元素高度酒塌陷了:

可以看到父元素的邊框擠在一起了。

OK,現在給父元素添加一個clearfix類:

<div>   <div>浮動</div></div>

.clearfix{    *zoom:1;}.clearfix:after{    content:'clear';    display:block;    height:0;    clear:both;    overflow:hidden;    visibility:hidden;}

現在刷新後的效果就是:

這種方法和BFC清除浮動個人用的比較多,實際開發中,其實這兩種就夠用了。

好的,清除浮動我也就簡單地提到這裡!

相關焦點

  • HTML+CSS:css清除浮動的幾種方式,哪種最合適?
    上篇文章我們說了元素的浮動,本篇文章主要介紹下css浮動帶來的影響,以及如何清除浮動。細心的人可能發現了,在我們上篇文章寫的導航條中存在一個問題,那就是使用了float之後,父級盒子的高度變為0了。我們有以下幾種方式來解決這個問題(1)給父級元素單獨定義高度(height)原理:如果父級元素沒有定義高度,父元素的高度完全由子元素撐開時,父級div手動定義height,就解決了父級div無法自動獲取到高度的問題。
  • 一文了解CSS clear both清除浮動
    一、前言CSS clear both清除產生浮動 ,使用了css float浮動會產生css浮動,這個時候就需要清理清除浮動,就用clear樣式屬性即可實現。比如一個大對象內有2個小對象使用了css float樣式為了避免產生浮動,大對象背景或邊框不能正確顯示,這個時候就需要clear:both清除浮動。四、案例1.
  • 一篇文章帶你了解CSS clear both清除浮動
    ,使用了css float浮動會產生css浮動,這個時候就需要清理清除浮動,就用clear樣式屬性即可實現。比如一個大對象內有2個小對象使用了css float樣式為了避免產生浮動,大對象背景或邊框不能正確顯示,這個時候就需要clear:both清除浮動。
  • CSS清除浮動的幾種方式
    </div>img{width:50px;border:1px solid #8e8e8e;float:left;}這種方法是先找到浮動元素的父元素,再在父元素中添加屬性overflow:hidden,清除找到的父元素中的子元素浮動對頁面的影響。
  • 【專欄試讀】(10)讓「盒子」動起來:① 浮動 | CSS
    4 清除「浮動」4.1 為什麼要清除浮動因為任何東西有利有弊。4.2 清除浮動的方法4.2.1 清除浮動實現的原理和方法🔗源碼及效果展示https://jsbin.com/behomudiji/edit?
  • CSS:浮動(float)
    由於浮動元素不再佔用原文檔流的位置,所以它會對後面的元素排版產生影響,為了解決這些問題,此時就需要在該元素中清除浮動。準確地說,並不是清除浮動,而是清除浮動後造成的影響如果浮動一開始就是一個美麗的錯誤,那麼請用正確的方法挽救它。
  • CSS浮動和浮動清理講解
    >&lt;div&gt;&lt;div&gt;xxxx&lt;/div&gt;&lt;div&gt;yyyyy&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt; 注意上面的代碼中,加紅的代碼中類clear的css
  • CSS的盒子模型和浮動,都在這了
    點關注,不迷路,每天分享大量前端知識css中的盒子模型 css處理網頁時,他認為每個元素都包含在一個不可見的矩形盒子 盒子是由 內容區,內邊距(padding),邊框,外邊距(margin)組成在瀏覽器中,其默認樣式中存在一些body等元素存在的默認樣式,比如一些外邊距
  • CSS浮動屬性Float詳解
    CSS浮動屬性Float詳解什麼是CSS Float?float 是 css 的定位屬性。在傳統的印刷布局中,文本可以按照需要圍繞圖片。一般把這種方式稱為「文本環繞」。在網頁設計中,應用了CSS的float屬性的頁面元素就像在印刷布局裡面的被文字包圍的圖片一樣。
  • clearfix 清除浮動進化史
    clearfix清除浮動首先在很多很多年以前我們常用的清除浮動是這樣的。.clear{clear:both;line-height:0;}現在可能還可以在很多老的站點上可以看到這樣的代碼,相當暴力有效的解決浮動的問題。
  • 【面試題】CSS知識點整理(附答案)
    所以在開發的時候直接按照設計稿的尺寸寫px,編譯後會直接轉化成rem;Rem相關文章推薦:使用Flexible實現手淘H5頁面的終端適配[12]9.清除浮動方法及原理為什麼要清除浮動:父元素因為子級元素浮動引起的內部高度為0的問題。
  • 面試題聯盟之CSS篇
    important >  id > class > tagimportant 比 內聯優先級高,但內聯比 id 要高8、為什麼要清除浮動?如何清除?,否則會影響頁面顯示的結構解決方法:①利用clear清除浮動.son { clear: left | right | both | auto }②在父元素後面額外添加標籤
  • css div設置float後高度不能自動增加
    首頁 > 教程 > 關鍵詞 > CSS最新資訊 > 正文 css div設置float後高度不能自動增加
  • web前端學習路線css屬性
    下面來給大家講講css相關知識:學習目標· 1、css屬性和屬性值的定義· 2、css文本屬性· 3、css列表屬性· 4、css背景屬性· 5、css邊框屬性· 6、css浮動屬性一、css屬性和屬性值的定義屬性:屬性是指定選擇符所具有的屬性,它是css的核心,css2共有150多個屬性屬性值:屬性值包括法定屬性值及常見的數值加單位,如25px,或顏色值等。
  • 17個CSS知識點整理
    8、css的基本語句構成是?選擇器{屬性1:值1;屬性2:值2;……}9、你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?IE(IE內核)、火狐(Gecko)、谷歌(webkit)、opear(Presto) 10、寫出幾種IE6 BUG的解決方法雙邊距BUG:float引起的,使用display;像素問題:使用float引起的,使用dislpay:inline -3px;超連結hover
  • float 浮動布局
    想使父元素可以正常顯示且不影響後面的元素,就需要清除浮動所帶來的影響,恢復他們的父子關係,下面介紹幾種方法。1給父元素設置高度直接給父元素設置height 屬性,這種方法只適用於子元素高度固定的情況下。
  • 工作中常用的css整理
    :設置 margin:auto(該方法得嚴格意義上的非固定寬高,而是 50%的父級的寬高。)清除浮動方法一:父級 div 定義 height原理:父級 div 手動定義 height,就解決了父級 div 無法自動獲取到高度的問題。
  • 面試整理(三)CSS部分
    清除浮動的⼏種⽅式,各⾃的優缺點① ⽗級 div 定義 height② 結尾處加空 div 標籤 clear:both③ ⽗級 div 定義偽類 :after 和 zoom④ ⽗級 div 定義 overflow:hidden⑤ ⽗級 div 也浮動,需要定義寬度結尾處加 br 標籤 clear:both
  • CSS學習筆記總結
    CSS(層疊樣式)由網景公司在1996年發布,取代了html 專門用來渲染頁面的樣式,文件以.css結尾 嚴重區分大小寫 毫無容錯性css的第一個宗旨是將頁面的結構和樣式解耦引入css的三種方式內嵌式直接將css代碼書寫head標籤內style:專門用來放置css代碼進入此標籤內語法改變為css語法type:MIME數據類型,此數據類型囊括了數十種後綴名,專門用來提示瀏覽器按照何種語法解析因為在h5技術中
  • CSS+DIV常見的三種元素定位方式,你知道幾個?
    css中元素的定位複雜的網頁布局都是通過各種網頁元素靈活定位實現的,網頁中的各種元素定位都有自己的特點。今天為大家聊一下css中常用的三種定位方法。這裡說的定位不是table排版的,而是通過DIV+CSS的方法對頁面中的塊元素的定位。float定位float定位是css排版非常重要的手段,新手一定要多多練習熟練掌握。float定位屬性值有三種left、right和默認值none。