CSS浮動與浮動清除(BFC)簡單教學
浮動
1. 什麼是浮動
當元素的<a href="http://www.php.cn/wiki/919.html" target="_blank">float</a>
屬性不為none
時就產生了浮動。
<p class="float">float</p>
.float { float: left; width: 100px; height: 100px; background-color: #ddd; }
2. 浮動的影響
浮動會使元素脫離文件流,具體表現為:
-
父元素高度塌陷,即不會包含浮動元素。
例如上面的程式碼就會表現為父元素高度塌陷
-
文字環繞。
文字環繞效果
#可以注意到這裡.normal
元素的寬度覆蓋了.float
元素,但是.float
元素下是沒有文字的,也就是說文字被「擠」出來了,這是因為它雖然會脫離文檔流,但是不會脫離文字流。這個效果也是float
屬性的本意。其程式碼如下:<p class="float">float</p>
正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素正常元素
登入後複製body { background-color: #ccc; } .float { float: left; width: 100px; height: 100px; background-color: #ddd; } .normal { background-color: #fff; }
登入後複製
浮動元素的外邊距不會合併。
關於外邊距合併的相關內容可以戳這裡。
元素一旦浮動便會變成行內塊元素,即 <a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>: inline-block
。
3. 浮動的應用
上面提到的文字環繞。
-
寫一個三列佈局,左右固定寬度,中間自適應。
<body> <p class="left float">left</p> <p class="right float">right</p> <p class="mid">自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素</p> </body>
登入後複製body { background-color: #ccc; } .float { float: left; width: 100px; height: 100px; background-color: #ddd; } .left { float: left; } .right { float: right; } .mid { height: 100px; background-color: #fff; margin: 200px; /*故意加上了上下 margin 值*/ }
登入後複製這裡我故意加上了上了
margin
值,可以看到效果:三列佈局
body
也跟著.mid
的margin
往下掉了,這點可以用前面介紹的外邊距合併來解釋。ps:我第一次自己寫這個三列佈局的時候,html 是這樣寫的
<body> <p class="left float">left</p> <p class="mid">自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素自适应宽度元素</p> <p class="right float">right</p> </body>
登入後複製如上把中間自適應的元素寫在中間,其實這樣比較符合邏輯,但如果這樣寫是行不通的,右邊的元素會掉下來,因為
.mid
元素是區塊級元素,會佔滿整行,.left
不會掉下來是因為它本來就是脫離文文檔流的浮動元素。
清除浮動
在子元素上清除
這裡我只寫不會產生無意義標籤的方法。
浮動元素後面若有兄弟元素,則可以在給它的兄弟元素加上
<a href="http://www.php.cn/wiki/917.html" target="_blank">clear</a>
屬性。
如文字環繞那部分程式碼,給.normal
加上clear<a href="http://www.php.cn/wiki/974.html" target="_blank">:left</a>
或clear:both
。clear
的具體用法這裡不做過多贅述。-
為要清除浮動的元素加上偽類別或偽元素。
.float::after { content: ''; display: block; visiability: hidden; height: 0; clear: both; }
登入後複製關於 ::after 的使用可以看 MDN 的文檔。
在父元素上清除,即BFC
BFC(Block Formatting Context),即區塊級格式上下文,它的官方解釋是:
浮動、絕對定位元素(
<a href="http://www.php.cn/wiki/902.html" target="_blank">position</a>
為absolute
或fixed
)、行內區塊元素display:inline-block
、表格儲存格display:table-cell
、表格標題display:table-caption
以及<a href="http://www.php.cn/wiki/923.html" target="_blank">overflow</a>
屬性值不為visible
的元素(除了該值被傳播到視點<a href="http://www.php.cn/css/css-rwd-viewport.html" target="_blank">viewport</a>
# 的情況)將建立一個新的區塊級格式化上下文。
總結來說它要滿足下列條件之一:
-
float
不為none
#position
不為<a href="http://www.php.cn/wiki/188.html" target="_blank">static</a>
或relative
display
為table-cell
、table-caption
、inline-block
、flex
、inline-flex
#overflow
不為visible
只要給父元素加上以上任一屬性滿足條件,也就是給父元素加上BFC 就能清除子元素的浮動。
以上是CSS浮動與浮動清除(BFC)簡單教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-
