2013-11-21 40 views
0

我試圖位置浮動DIV right邊緣的arrow格,所以我給出的絕對位置arrow和左爲0如何將絕對定位的div放置在浮動父級中?

我知道絕對位置不會是靜態的流動,這是從不同其他。甚至認爲它應該服從父母的左值,不是嗎?

爲什麼在jsarrow沒有放置在right格邊界,而它的外層div

HTML

<div id="wrapper"> 
<div id="right"> 
    <div id="arrow"> 
     arr 
    </div> 
</div> 
</div> 

CSS

#wrapper{ 
    width:500px; 
    height:500px; 
    border:2px solid green; 
} 
#right { 
    float:right; 
    width:250px; 
    height:250px; 
    border:2px solid green; 

} 
#arrow { 
    position:absolute; 
    background-color:blue; 
    color:white; 
    left:0; 
} 
+0

請在問題本身中包含您的代碼。 – gvee

+1

家長應該有'位置:親戚' –

回答

1

將你必須做位置:親戚;在它的父母身份證號=「右」。

Relavant link on position

+0

所以用浮動父元素的絕對位置不起作用,那你有什麼建議?我是否也可以在家長中使用絕對位置,在這種情況下,它是'id = right' – sun

+0

是的,位置否認你的浮動。您可以在其父項上使用絕對位置,但是您需要使用id =「wrapper」上的相對位置。 要點是,當你絕對位置的時候,它也需要有一些父母的位置。 –

+0

我添加了一個鏈接,閱讀那個關於絕對位置的部分,它會幫助你理解。 –

0

http://jsfiddle.net/3tAnA/2/

我改變#arrow到

right:0; 

,而不是離開。

並添加位置:相對;在右邊。

+0

浮動和位置如何:相對工作?我聽說位置和浮動不能同時使用。只是想知道 – sun

+0

他們在不同的元素。我使#right成爲一個相對位置,儘管它對#right沒有任何影響,它使任何東西都位於它的內部,而不是相對於頁面的正文。 –

+0

'#箭頭'已經是'#right'的子,那麼它將如何根據頁面的主體來放置。它('#arrow')應該根據其包含div'#right'來放置,該''right'具有'float:right'。謝謝@Dan Goodspeed – sun

相關問題