2013-06-12 116 views
0

我有一個div與另一個div裏面。第二個divwidth,heightbackground-color: green。這個有絕對的位置,所以它的容器沒有顯示。溢出位置絕對

<div id="root"> 

<div id="r1"> 

    <div id="r2"> 

    </div> 
</div> 
Mas 
</div> 

CSS文件

#root{ 
width:300px; 
background-color: red; 
} 

#r1{ 

position: relative; 
width: 100px; 
background: yellow; 

} 

#r2{ 
position: absolute; 
display: inline-block; 
width: 50px; 
height: 50px; 
left: 0; 
background-color: green; 
} 

http://jsfiddle.net/sev2E/1/

我想知道,如果有可能,它的容器是,敷用絕對位置的股利。

我想看到類似的東西,但沒有使用相對位置,也沒有爲其容器添加高度。

http://jsfiddle.net/sev2E/2/

謝謝!

+0

請在您的問題中包含相關代碼。 – hjpotter92

+0

當你將div聲明爲絕對時,它不包含在父標籤中。所以包裝不能按需要完成。 – Narendra

+0

'沒有使用相對位置並且沒有增加高度?任何原因 ? – zey

回答

2

一些高度添加到您的R1 CSS

#r1{ 

    position: relative; 
    width: 100px; 
    background: yellow; 
    height:60px; 

或增加填充底: 「你的高度DIV的」,這是相同的

#r1{ 

    position: relative; 
    width: 100px; 
    background: yellow; 
    padding-bottom:55px 

} 
+0

我想知道如果我可以做到這一點,而不增加高度到它的容器...我更新我的問題,我說這個。感謝您的回答! – Bae

+0

我認爲通過給你的對象的位置絕對,你讓你的div類「空」,這就是爲什麼它獲得高度0 – Pumpkinpro

+0

謝謝!!!!!!!!! – Bae

1

簡短的答案是否定的。

一旦你絕對定位一個元素,它將被從文檔流中取出,並且不再計算其包含塊的高度或寬度。

Android API(用Java編寫)使用的文本格式模型與CSS兼容的現代瀏覽器實現的不同。

要在基於CSS的網頁和Android界面佈局之間獲得類似的視覺效果,您需要根據每種語言的規則和約束對每個實現進行編碼。

Pumpkinpro的答案基本上是在CSS中獲得「wrap_content」效果的方法。

+0

謝謝!那麼...我將不得不改變我的Java代碼來使用CSS模型,而不是android模型T_T – Bae