一、理解清除浮動
1、為什麼要清除浮動
我們前面說過,浮動本質是用來做一些文字混排效果的,但是被我們拿來做佈局用,則會有很多的問題出現。
由於浮動元素不再佔用原始文件流的位置,所以它會對後面的元素排版產生影響,為了解決這些問題,此時就需要在該元素中清除浮動。
推薦學習:CSS影片教學
#確切地說,不是清除浮動,而是清除浮動後造成的影響
2、清除浮動本質
清除浮動的本質: 主要為了解決父級元素因為子級浮動引起內部高度為0 的問題。
我們來詳細解釋下這句話
再解釋下就是在標準流下面一個父p沒有設定高度屬性,那麼它的高度就會被子元素的高度撐開。但是如果這個父p中的子元素是浮動的話,如果父p下面再有
一個兄弟p,那麼這個兄弟p就會遮擋這個父元素。這個現像也叫浮動溢出。
範例
nbsp;html> <meta> <title>Document</title> <style> .father { height: 200px; border: 1px solid red; width: 300px } .big { width: 100px; height: 100px; background-color: purple; float: left; } .small { width: 80px; height: 80px; background-color: blue; float: left; } .footer { width: 400px; height: 100px; background-color: pink; } </style> <p> 父p </p><p>子p</p> <p>子p</p> <p>兄弟p</p>
運行結果
#很明顯這裡,p1和p2已經上浮,而兄弟p往上移動。這裡因為父p有文字所以佔了點高度,不然兄弟p會完全覆蓋父p。
當然我們可以透過設定父p的高度,來讓它不被兄弟p所覆蓋。例如這裡設定height: 200px;
在刷新下頁面
#當父p設定高度後,被覆蓋的問題卻是解決了,但在很多時候我們是不會去設定父p的高度,因為很多時候我們都不知道父p的高度要設定多少。
所以這個時候需要思考解決這個問題。
二、清除浮動的方法
清除浮動的方法本質: 就是把父盒子裡浮動的盒子圈到裡面,讓父盒子閉合出口和入口不讓他們出來影響其他元素。
在CSS中,clear屬性用來清除浮動。
基本語法格式
选择器 {clear:属性值;}
屬性值
#1、額外標籤法
透過在浮動元素末尾添加一個空的標籤,例如
<p></p>
我們在上面的程式碼添加
父p
子p
子p
<p></p>兄弟p
運行結果
2、父級新增overflow屬性方法
可以透過觸發BFC的方式,可以實現清除浮動效果。 (BFC後面會講)可以给父级元素添加: overflow为 hidden|auto|scroll 都可以实现。我們將上面程式碼修改為
<p> 父p <!-- 父元素添加 overflow: hidden --> </p><p>子p</p> <p>子p</p> <p>兄弟p</p>也是能實現移除浮動的效果。 優點 程式碼簡潔缺點 內容增多時候容易造成不會自動換行導致內容被隱藏掉,無法顯示需要溢出的元素。
3、使用after偽元素清除浮動
:after 方式为空元素的升级版,好处是不用单独加标签了**範例
nbsp;html>優點符合閉合浮動思想結構語意化正確#缺點由於IE6-7不支援:after,使用zoom:1觸發hasLayout。 注意: content:"." 裡面盡量跟著一個小點,或其他,盡量不要為空,否則再firefox 7.0前的版本會有生成空格。使用after伪元素清除浮动 <p></p> <p></p>
4、使用before和after雙偽元素清除浮動
#使用方法將上面的clearfix樣式替換成如下.clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; }優點程式碼更簡潔缺點由於IE6-7不支援:after,使用zoom:1觸發hasLayout。
5、總結
1、在网页主要布局时使用:after伪元素方法并作为主要清理浮动方式.文档结构更加清晰; 2、在小模块如ul里推荐使用overflow:hidden;(同时留意可能产生的隐藏溢出元素问题);本文來自PHP中文網,
CSS教學專欄,歡迎學習
以上是為什麼要清除浮動?怎樣清除? (float)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

前幾天我得到了這個問題。我的第一個想法是:奇怪的問題!特異性是關於選擇者的,而在符號不是選擇器,那麼...無關緊要?

在這篇文章中,我們將使用我構建和部署的電子商務商店演示來進行Netlify,以展示如何為傳入數據製作動態路線。這是一個公平的


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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