本篇文章主要介紹如何用css after偽類清除浮動的方法。
首先大家要了解什麼是css浮動?
使元素脫離文件流,按照指定方向發生移動,遇到父級邊界或相鄰的浮動元素停了下來。
也可以這樣理解:浮動的框可以向左或向右移動,直到它的外緣碰到包含框或另一個浮動框的邊框為止。由於浮動框不在文件的普通流中,所以文件的普通流中的區塊框表現得就像浮動框不存在一樣。
那我們為什麼要清除浮動呢?
這是因為浮動元素有時會影響整體的佈局,產生一些bug。
如下程式碼:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>css浮动示例</title> <head> <style> .demo{ background: #ffffff; border: 1px solid black; margin: 50px auto; padding: 50px; } .demo1{ float: left; width: 100px; height: 50px; color: white; background: #1094f2; border: 1px solid black; } .demo2{ float: left; width: 100px; height: 50px; color: white; background: #9492ff; border: 1px solid black; } </style> </head> <body> <div class="demo"> <div class="demo1">demo1</div> <div class="demo2">demo2</div> </div> </body> </html>
效果如下圖:
#圖中可以看到我們在為demo1.2設定浮動屬性float :left後,沒有將父親div撐開的情況。而且我們並沒有為demo設定寬高尺寸。
這裡大家就先要了解css中浮動屬性是什麼?
float 屬性定義元素在哪個方向浮動。以往這個屬性總應用於圖像,使文字圍繞在圖像周圍,不過在 CSS 中,任何元素都可以浮動。浮動元素會產生一個區塊級框,而不論它本身是何種元素。
那麼當我們遇到一些影響佈局的浮動怎麼清除呢?
下面就跟大家介紹最主流的清除方法,使用css after偽類。
新增以下程式碼即可:
.demo:after{ clear: both; content: ''; display: block; }
最終效果如下:
#其實主要原理就是:
利用:after和:before在元素內插入兩個元素塊,從而達到清除浮動的效果。
這篇文章就是關於用after偽類清除浮動的具體方法介紹,非常簡單易懂,希望對需要的朋友有所幫助! 】
想要了解更多前端相關知識,可以關注PHP中文網CSS影片教學、Bootstrap教學等等相關教學課程,歡迎大家參考學習!
以上是css中after偽類清除浮動的主流方法詳解!的詳細內容。更多資訊請關注PHP中文網其他相關文章!