2011-04-21 109 views
5

我一直認爲我理解利潤率和負利潤率,但顯然我不知道!我剛開始一個新的設計並且遇到了問題。利潤率和負利潤率

我有一個div(hill3Cont)和另一個div(hill3Hill)嵌套在裏面,這是他們的CSS。

#hill3Cont 
{ 
    width: 100%; 
    background-image: url("images/grass.jpg"); 
} 
#hill3Hill 
{ 
    margin: -100px 0 0 0; 
    height: 600px; 
    width: 100%; 
    background: url("images/hill3.png") no-repeat center top; 
} 

我已經申請陰性切緣來是希望它會推動這個內容父div的邊界之外的孩子div的頂部。但它不,它不動。如果我應用積極的邊際,它會推動父div與其中的孩子。

我可以使其正確行爲的唯一方法是使用隱藏在父div上的邊框或溢出,但設計不會允許這些中的任何一個(我不希望邊框和溢出隱藏隱藏子)。

也許這只是漫長的一天,我錯過了一些共同點!提前謝謝了。

編輯: 我有一個解決方案,我已經把一個填充頂部的父div,填充:1px 0 0 0.它適用於我的設計,所以我很高興,但仍然渴望找出什麼是發生。

+0

我不明白爲什麼事情正在他們的方式。在看過亞歷山大的解決方案後,我發現我們已經得到了解決問題的答案,但沒有答案爲什麼你不工作。爲什麼添加邊框會使您的版本發揮作用? – mrtsherman 2011-04-25 15:32:36

回答

5

對於父元素內部的子元素使用相對位置和負頂點代替。

http://jsfiddle.net/GEwj3/3/

#hill3Cont 
{ 
    margin-top: 50px; 
    width: 200px; 
    height: 200px; 
    background-color: red; 
} 
#hill3Hill 
{ 
    height: 50px; 
    width: 100px; 
    background: blue; 
    position: relative; 
    top: -20px; 
} 
+0

仍然沒有不幸的是,這是我的情況的一個更接近的例子,我沒有邊界(它似乎修復了它)http://jsfiddle.net/GEwj3/1/ 當我把一個邊框修復它 http://jsfiddle.net/GEwj3/2/ – Chris 2011-04-21 21:59:11

+1

嗯,我想我也學到了一兩件事。如果使用負邊距,那麼子元素顯然不能浮出其父元素。如果你想這樣做,然後使用相對位置與負的頂部偏移量。 http://jsfiddle.net/GEwj3/3/ – mrtsherman 2011-04-22 05:45:44

0

目前尚不清楚,我認爲保證金負值應該給你想要的行爲,而不是被視爲零。我會避免它們作爲潛在的未定義行爲。