首頁 > web前端 > css教學 > 主體

為什麼 `overflow: auto` 會使容器擴展以適應浮動元素?

Linda Hamilton
發布: 2024-11-14 11:29:02
原創
978 人瀏覽過

Why Does `overflow: auto` Make a Container Expand to Fit Floated Elements?

為什麼 'overflow: auto' 會擴充容器高度以容納浮動元素?

當實作具有浮動元素的兩列佈局時,您可能會遇到容器無法垂直擴展以適應其浮動子項的問題。在容器中加入 'overflow: auto' 可以解決這個問題。

理解浮動

浮動元素位於常規文檔流之外,看起來浮動在其他元素旁邊。因此,父容器不知道浮動元素的存在,並且在計算自身高度時不會考慮其高度。

清除和溢出

強制如果父容器要容納其浮動子容器,則需要清除浮動或建立新的區塊格式化上下文 (BFC)。 Overflow: auto 是建立新 BFC 的 CSS 屬性。

Overflow: Auto 建立BFC

Overflow: auto 透過滿足某些條件來建立BFC,包括:

  • 為浮動建立一個新的包含塊elements
  • 將'overflow' 屬性設定為'auto'

建立 BFC 的好處

透過建立BFC,以下內容發生:

  • 浮動元素被限制在新的範圍內包含塊
  • 容器被迫垂直擴展以容納其浮動的子元素

關於清除浮動的注意事項

溢位:自動不會清晰的漂浮物;它只創造一個BFC。若要清除浮動,您必須在浮動元素後面新增一個清除元素,例如具有「clear: Both」樣式的 div。但是,父元素無法清除自己的浮動子元素。

以上是為什麼 `overflow: auto` 會使容器擴展以適應浮動元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板