css清除浮動是在css佈局中經常看到的,那麼css中該如何清除浮動呢?這篇文章將為大家介紹關於css清除浮動的方法,以及簡單介紹為什麼要使用css浮動。
我們上篇文章css浮動是什麼意思? css為什麼要清除浮動? 中已經說到使用css浮動是因為在css中一些元素是塊級元素,他們會自動啟用新的一行,還有另一種內聯元素也就是行內元素,它們會與之前的內容保持顯示在「一行」;但是有時候我們需要改變這種佈局方式,這就需要利用css浮動來實現。但是當出現「高度塌陷」時就會需要清除浮動。那麼,css清除浮動的方法有哪些呢?
下面我們就來看看css清除浮動的四種方法介紹。
css清除浮動的方法一:
使用帶有clear屬性的空元素
在浮動元素後面使用一個空元素如
,並賦予CSS.clear{clear:both;}屬性即可清理浮動。亦可使用或
來進行清理。
.news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } .clear { clear: both; } <div class="news"> <img src="/static/imghwm/default1.png" data-src="news-pic.jpg" class="lazy" / alt="css清除浮動的方法有哪些? css浮動清除的四種方法介紹" > <p>some text</p> <div class="clear"></div> </div>
說明:
優點:簡單,程式碼少,瀏覽器相容性好。
缺點:需要增加大量無語意的html元素,程式碼不夠優雅,後期不容易維護。
css清除浮動的方法二:
使用CSS的overflow屬性
為浮動元素的容器新增overflow: hidden;或overflow:auto;可以清除浮動,另外在IE6 中還需要觸發hasLayout ,例如為父元素設定容器寬高或設定zoom:1。
.news { background-color: gray; border: solid 1px black; overflow: hidden; *zoom: 1; } .news img { float: left; } .news p { float: right; } <div class="news"> <img src="/static/imghwm/default1.png" data-src="news-pic.jpg" class="lazy" / alt="css清除浮動的方法有哪些? css浮動清除的四種方法介紹" > <p>some text</p> </div>
說明:
在加入overflow屬性後,浮動元素又回到了容器層,把容器高度撐起,達到了清理浮動的效果。
優點:不存在結構和語意化問題,程式碼量極少
缺點:內容增多時候容易造成不會自動換行導致內容被隱藏掉,無法顯示需要溢出的元素; 04年POPO發現overflow:hidden會導致中鍵失效,這是我作為一個多標籤瀏覽控所不能接受的。所以還是不要使用.
css清除浮動的方法三:
#使用鄰接元素處理
什麼都不做,為浮動元素後面的元素加入clear屬性。
.news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } .content{ clear:both; } <div class="news"> <img src="/static/imghwm/default1.png" data-src="news-pic.jpg" class="lazy" / alt="css清除浮動的方法有哪些? css浮動清除的四種方法介紹" > <p>some text</p> <div class="content"></div> </div>
css清除浮動的方法四:
使用CSS的:after偽元素
結合:after 偽元素(注意這不是偽類,而是偽元素,代表一個元素之後最近的元素)和IEhack ,可以完美兼容當前主流的各大瀏覽器,這裡的IEhack 指的是觸發hasLayout。
在浮動元素的容器中加入一個clearfix的class,然後在這個class上加上一個:after偽元素實作元素末端加上一個看不見的塊元素(Block element)來清理浮動。
.news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } .clearfix:after{ content: "020"; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { /* 触发 hasLayout */ zoom: 1; } <div class="news clearfix"> <img src="/static/imghwm/default1.png" data-src="news-pic.jpg" class="lazy" / alt="css清除浮動的方法有哪些? css浮動清除的四種方法介紹" > <p>some text</p> </div>
說明:透過CSS偽元素在容器的內部元素最後加上了一個看不見的空格"020"或點".",並且賦予clear屬性來清除浮動。要注意的是為了IE6和IE7瀏覽器,要給clearfix這個class增加一條zoom:1;觸發haslayout。
最後:關於上述文章中一些屬性的具體內容可以參考css手冊。
相關推薦:
以上是css清除浮動的方法有哪些? css浮動清除的四種方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在過去的六年中,Vue,Angular和React紮根了前端組件框架的世界。 Google和Facebook有自己的讚助框架,


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

WebStorm Mac版
好用的JavaScript開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)