首頁 > web前端 > css教學 > 與標準 CSS 佈局相比,Flexbox 的邊距表現有何不同?

與標準 CSS 佈局相比,Flexbox 的邊距表現有何不同?

Barbara Streisand
發布: 2024-11-26 02:20:15
原創
739 人瀏覽過

How Do Margins Behave Differently in Flexbox Compared to Standard CSS Layout?

Flexbox 中的邊距折疊

在 CSS 中,相鄰元素上的邊距通常會折疊以建立單一邊距。然而,在 Flexbox 容器中,這種行為有所不同。

問題:非 Flexbox 與 Flexbox 邊距

使用非 Flexbox版面時,父元素上的邊距及其最後一個子崩潰:

article {
  margin-bottom: 20px;
}

main {
  margin-bottom: 20px;
}
登入後複製

但是,在彈性盒中容器:

#container {
  display: flex;
  flex-direction: column;
}

article {
  margin-bottom: 20px;
}

main {
  margin-bottom: 20px;
}
登入後複製

邊距不再折疊,導致最後一篇文章和頁腳之間的間隙更大。

理解差異

邊距折疊發生在區塊格式化上下文中。然而,Flexbox 容器建立了不同類型的上下文,稱為 Flex 格式化上下文。

根據CSS 盒子模型規格:

「Flex 容器為其內容建立一個新的Flex 格式化上下文。這與建立區塊格式化上下文相同,只是使用Flex 佈局而不是區塊佈局。浮動不會侵入彈性容器,且容器的邊距與其子元素的邊距保持分離。

以上是與標準 CSS 佈局相比,Flexbox 的邊距表現有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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