2012-01-05 25 views
4

總之,我有下面的樣式相對定位的div:相對(定位)分度內的另一個相對的div頂緣

.div1 { 
    background-image: url(../images/header.jpg); 
    background-repeat: no-repeat; 
    width: 100%; 
    height: 269px; 
    margin:0 auto; 
    padding:0px; 
    position: relative; 
    background-position: center top; 
} 

並在它的另一個DIV風格是這樣的:

.div2 { 
    position: relative; 
    width: 815px; 
    height: 74px; 
    margin-top:100px; 
} 

有趣的是,由於div1(父母)內的div2(孩子)的邊際以及它相對定位的事實,這會將div1(這是奇怪的事情)推下100px。更有趣的是,如果我爲div1添加邊框或在其中寫入內容,則此行爲將消失。

如果有人知道爲什麼會發生這種情況,並且對這個問題有一個清晰的解決方案,我非常想挑選你的大腦。

+0

div1是.header和div2是div.test? – Jawad 2012-01-05 10:36:38

+0

是的,@Jawad。謝謝你的提問,我沒有意識到他們有不同的名字,我糾正了這個問題。 – 2012-03-02 06:17:05

回答

1

這是因爲 「崩潰的邊緣」 的發生。

該規範:

一些容易讀:

正如已經亞蘭Mkrtchyan,在這種情況下,最簡單的解決建議可能是overflow: hidden添加到.headerHere are some more ideas.

3

有一個例子

http://jsfiddle.net/amkrtchyan/urNRR/

.header { 
    background-image: url(../images/header.jpg); 
    background-repeat: no-repeat; 
    width: 100%; 
    height: 269px; 
    margin:0 auto; 
    padding:0px; 
    position: relative; 
    background-position: center top; 
    overflow: hidden // add this 
} 
+0

謝謝阿拉姆,這確實是一個有趣的想法 – 2012-01-12 13:39:48

+0

歡迎你'')' – 2012-01-13 16:51:05