我有一個結構simmiliar這樣的:爲什麼CSS位置絕對錶現得像相對於它的子元素絕對
<div style="border: 1px solid red; position: relative; height: 200px">
<div style="border: 1px solid green; position: absolute; left: 10px; top: 10px;height: 100px; width: 200px ">
<div style="border: 1px solid blue; position: absolute; top: 15px; 10px; height: 20px; width: 20px;">
</div>
</div>
</div>
在這個例子中第3格需要第二格是相對的。我一直認爲你的位置最接近relative
元素,而不是最接近的absolute
元素。
它爲什麼會這樣?我在最近的變化中錯過了什麼嗎?
你認爲這是錯誤的,它使用了絕對或相對的第一個父/祖先節點。查看http://stackoverflow.com/questions/13867717/how-to-make-divs-percentage-width-relative-to-parent-div-and-not-viewport/13867800#13867800 –
AFAIK,它一直是這樣。從[MDN在'position'上的頁面](https://developer.mozilla.org/en-US/docs/Web/CSS/position):「**'absolute' **:...將它定位在指定位置相對於其*最接近定位祖先*的位置(如果有的話),或者相對於初始含有塊。 (強調我的) –
當你絕對定位它的位置時,它的位置與它的*最接近的位置*位置**祖先* – j08691