為什麼絕對定位繼承自嵌套 Div 中的直接父級?
Absolute絕對定位異常
在涉及絕對定位的多層佈局中,經常會遇到內層div有絕對定位的場景相對於其直接父級的定位,此父級也絕對定位在另一個div 中。然而,在這樣的設定中,內部 div 從其直接父級繼承其絕對位置,導致看似意外的行為。
考慮以下 HTML 結構:
<code class="html"><div id="1st" style="position: relative;"> <div id="2nd" style="position: absolute;"> <div id="3rd" style="position: absolute;"></div> </div> </div></code>
直觀地說,一個期望 #3rd 的位置是相對於 #1st 的絕對位置,因為 #2nd 絕對位於 #1st 內。然而,現實情況是#3rd 的絕對定位繼承自#2nd。這是因為#2nd 上的position:absolute 重置了其相對於其父級的位置,導致#3rd 絕對定位在#2nd 內。
此行為可歸因於CSS 特異性規則。當子元素具有絕對位置時,其位置由其直接父元素的邊界框決定。在這種情況下,#3rd 的位置由 #2nd 的邊界框定義,並且不知道 #2nd 相對於 #1st 的絕對位置。
解決此問題並使 #3rd 絕對定位相對於#1st,有必要使#3rd 成為#1st 的直接子級。換句話說,以下HTML 將產生所需的行為:
<code class="html"><div id="1st" style="position: relative;"> <div id="3rd" style="position: absolute;"></div> </div></code>
在這種情況下,#3rd 的絕對位置由其父級#1st 的位置決定,這正是人們所期望的。需要注意的是,透過position:absolute重置父元素的位置也會影響其子元素的位置,除非它們相對於不同的父元素是絕對定位的。
以上是為什麼絕對定位繼承自嵌套 Div 中的直接父級?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

該文檔負責人可能不是網站上最迷人的部分,但是其中所處的內容對於您的網站的成功也一樣重要
