Flexbox 中的邊距折疊
通常,在CSS 中,當父項及其最後一個子項有邊距時,邊距會折疊成單一利潤。然而,在 Flexbox 中,邊距的表現有所不同。
為什麼 Flexbox 中的 Margin Collapse 不同
Margin collapsing 是區塊格式化上下文的功能,在Flex 格式化上下文。 Flexbox 為其內容建立了一個新的 Flex 格式化上下文,這意味著邊距不會像區塊格式化上下文中那樣折疊。
如何讓Flexbox 邊距表現得像非Flexbox 邊距
由於邊距折疊是塊格式上下文的功能,因此不可能使Flexbox 邊距的行為與非Flexbox 完全相同那些。然而,透過將flexbox容器的display屬性設定為inline-flex而不是flex,也可以達到類似的效果。這將建立一個 Flexbox 格式化上下文,但它將被視為內聯元素,因此邊距將按預期折疊。
例如:
#container { display: inline-flex; flex-direction: column; } article { margin-bottom: 20px; } main { background: pink; margin-bottom: 20px; } footer { background: skyblue; }
在這種情況下,最後一篇文章和頁腳之間的邊距將折疊,從而產生20 像素的邊距,就像在非Flexbox 佈局中一樣。
以上是為什麼 Flexbox 邊距的表現與標準區塊格式上下文不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!