2009-06-17 282 views
1

這是我在修理佈局時總是遇到的一個問題。我有一個絕對定位的DIV,我放置了一個兒童DIV,其中也需要絕對定位。但我真的希望這個孩子DIV相對於父母行爲......這甚至有可能嗎?或者我需要創建一個換行DIV?絕對定位DIV相對於(也絕對定位)父DIV的位置?

<div class="container" style="position:relative;"> 
    <div class="parent" style="position:absolute;"> 

     <!-- this child div will behave relative to .container --> 
     <div class="child" style="position:absolute;"></div> 
    </div> 
</div> 

這是「包裝」的解決方案,我寧願避免:

<div class="container" style="position:relative;"> 
    <div class="parent" style="position:absolute;"> 
     <div class="wrapper" style="position:relative;"> 

      <!-- this child div will behave relative to .wrapper--> 
      <div class="child" style="position:absolute;"></div> 
     </div> 
    </div> 
</div> 

回答

1

絕對定位的元素相對於未定位的其最近的祖先的邊緣定位(即,不是位置:靜態)。

由於父元素位置:絕對,子元素將相對於其邊緣進行定位。

所以你似乎在問如何獲得你已有的行爲。您的第一個示例中的評論看起來不正確。

0

你可能要問自己,如果你確實需要使用多個嵌套絕對定位的元素。

否則,它可能是最好的包裝解決方案。

1

如果你已經絕對定位一個div,你不能只爲孩子添加兩個偏移量嗎?例如對於#one是在10,10和#two在10,10相對於#one,

#one { 
    position: absolute; 
    left: 10px; 
    top: 10px; 
} 

#two { 
    position: absolute; 
    left: 20px; 
    top: 20px; 
} 

或者是到左上角和#two到右下角的東西票友,像#one鎖定#one,在這種情況下,基礎數學不能以這種方式工作?在這種情況下,可能需要額外的div。

還是我只是累了,想念什麼?