首頁  >  文章  >  web前端  >  為什麼「overflow:hidden」不能在絕對定位的內部 DIV 上工作,除非外部 DIV 是相對定位的?

為什麼「overflow:hidden」不能在絕對定位的內部 DIV 上工作,除非外部 DIV 是相對定位的?

Barbara Streisand
Barbara Streisand原創
2024-11-26 14:47:11329瀏覽

Why Doesn't `overflow: hidden` Work on an Absolutely Positioned Inner DIV Unless the Outer DIV is Positioned Relatively?

絕對位置和隱藏溢出

處理嵌套DIV 時,控制內部DIV 在範圍內的顯示可能具有挑戰性外部DIV 的屬性,尤其是使用溢出隱藏等屬性時。本題檢視外部 DIV 未絕對定位的特定場景,導致內部 DIV 絕對定位忽略外部 DIV 的溢出隱藏指令。

為了解決此問題,建議的解決方案涉及更改定位外部 DIV 的相對位置並保持內部 DIV 的絕對定位。它的工作原理如下:

#first {
    width: 200px;
    height: 200px;
    background-color: green;
    position: relative;
    overflow: hidden;
}

#second {
    width: 50px;
    height: 50px;
    background-color: red;
    position: absolute;
    left: 250px;
    top: 250px;
}

透過將外部 DIV 設定為position:relative,您可以在該元素內建立一個新的座標系,該座標係用作內部 DIV 位置的參考點。這允許內部 DIV 保持錨定到外部 DIV,同時遵守外部 DIV 的溢出隱藏約束。在此配置中,內部 DIV 的內容將被裁切在外部 DIV 的邊界內。

或者,您也可以考慮對內部 DIV 使用position:fixed,這將固定其相對於視口的位置,而不是比外部 DIV 更重要。這種方法可以更好地控制內部 DIV 的放置,特別是當您需要將其放置在外部 DIV 邊界之外時。

以上是為什麼「overflow:hidden」不能在絕對定位的內部 DIV 上工作,除非外部 DIV 是相對定位的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn