在 CSS 中,position 屬性可以設定為各種值,包括相對、絕對和固定。當一個元素被絕對定位時,它會從正常的文檔流中刪除,並相對於其最近的定位祖先或視口進行定位。此行為可能會導致元素堆疊在一起,這可能不是所需的效果。
在下面的範例中,具有類別.row 和.row 的元素.col 是絕對定位的,導致它們重疊:
body { position: relative; /* Contains absolutely positioned elements */ } .container { position: absolute; } .row { position: relative; } .col1, .col2 { position: absolute; }
要解決此問題並使元素垂直堆疊,我們需要指定它們的高度並確保正確管理它們的垂直位置。
雖然修改元素的CSS 並不理想,但不刪除位置屬性的可能解決方案是指定元素的高度每個.row 並調整第二個.row 的top 屬性以考慮第一個.row的高度:
body { /* position: relative; remains unchanged */ } .container { /* position: absolute; remains unchanged */ } .row { position: relative; height: 2em; /* Specify height for vertical stacking */ } .col1, .col2 { /* position: absolute; remains unchanged */ } #row2 { top: 2em; /* Offset to account for the height of #row1 */ }
以上是如何在 CSS 中垂直堆疊重疊的絕對定位元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!