2011-05-26 57 views
1

這可能是一個簡單的問題,但爲什麼在下面的段落標記(包括邊距)不會停留在其包含div?爲什麼帶有空白的p標籤不在一個包含div內?

<div class="blockone"></div> 
<div> 
    <p>some text</p> 
</div> 

.blockone { 
    background-color:Red; 
    height:100px; 
    margin:50px 0px; 
} 
div p { 
    margin:50px 0px; 
} 

紛紛提出的jsfiddle

http://jsfiddle.net/dr6kN/7/

的例子是什麼我希望將是文字和塊是100px的分開?我知道我浮得到這個行爲,可以bodge做工作,但正在尋求有點理解:)

+1

你認爲哪個div是「包含div」? – BoltClock 2011-05-26 11:22:01

+0

第二個(包含段落標記) – Tom 2011-05-26 11:22:59

+0

小提琴表明它*是*裏面的第二個... – BoltClock 2011-05-26 11:24:46

回答

4

我不知道你指的是「含格」是什麼,因爲p是在第二個div(底部,透明的一個),所以它在技術上在其包含div

我期望的是文本和塊相隔100px?

由於collapsing margins,所述p的保證金坍縮成紅色div的餘量,所以只有紅色div的50像素餘量發生明顯的影響。

+0

好吧,從來沒有聽說過崩潰邊緣。似乎我可以通過添加'display:inline-block'來獲得所需的差距。 to div p – Tom 2011-05-26 11:34:18

+2

@Tim:「修復」的「更好」方法是將「overflow:hidden」添加到包含「div」中:http://jsfiddle.net/dr6kN/12/ – thirtydot 2011-05-26 11:36:21

相關問題