使用「Margin: Auto」將元素垂直居中
雖然「margin: auto」有效地水平居中元素,但其垂直對齊功能可能會有限的。這是由於塊盒垂直堆疊的方式以及邊距折疊的可能性所造成的。
根據 CSS2.1 第 10.6.2 節,塊盒在正常流程中從上到下堆疊。在某些情況下,垂直邊距可能會折疊、歸零。如果包含區塊具有自動高度且只有一個區塊框,則其頂部和底部邊距本質上為零。
對於同一流中的多個區塊框或影響流入的流外框佈局,解決自動邊距變得更加複雜。這擴展到內聯元素和浮動,其中自動左右邊距設定為零,以避免與行框幹擾。
相反,絕對定位的框不會注意到同一定位上下文中的其他框。因此,可以僅根據它們的包含區塊來計算自動頂部和底部邊距。
Flexbox 為 Flex 專案提供了獨特的解決方案,這些專案在 Flex 格式化上下文中完全了解彼此。 Flexbox 中的垂直邊距遵循不同的規則,允許更精確地控制元素對齊。
以上是為什麼「邊距:自動」不垂直居中元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!