深入研究負邊距:行為、直覺和差異
CSS 允許負邊距,但它們的效果可能會令人困惑。為了揭開這個主題的神秘面紗,讓我們來探索它們的行為並理解為什麼 margin-top:-5 不等於 margin-bottom:5。
理解負邊距
負邊距應用於邊框之外,並且在視覺邊距中不可見。這是因為它們會影響邊距框,同時保持內容和填充框不變。對於絕對定位的元素,負邊距將元素移動指定的量而不影響佈局。
圖形表示
想像一個負上邊距的元素:
[上邊距為負的矩形影像]
邊距框縮小了負數,但內容和填滿框不受影響。
背後的直覺負邊距
負邊距會「增大」元素,因為它們會減少邊距框的大小。對於 margin-top
頂部和底部邊距之間的差異
margin-top:-8px 與 margin-bottom:8px 不同因為邊距崩潰。當一個元素的相對兩側同時具有負邊距和正邊距時,邊距會折疊,從而消除負邊距。因此,不會發生淨移動。
垂直居中的額外提示
當使用 % 表示橫向邊距(即頂部或底部)時,將計算該值作為包含塊的寬度的百分比。這可能會導致垂直居中問題。垂直居中最好使用 margin-top:-50vh ,其中 vh 表示視口高度的單位。
以上是CSS 中的負邊距:為什麼 margin-top:-5 與 margin-bottom:5 不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!