2011-11-19 61 views
2

我試圖瞭解我在看到一些HTML代碼時看到的行爲,您可以看到hereCSS瞭解相對於邊界的邊距

你會發現,如果你改變了以下內容:

<div style="border: solid 1px black;"> 
    <div style="margin-top:50px;"> 
     Post Title 
    </div> 
</div> 

本(即 「邊界:1px的固體黑;」 到 「邊框:實心0像素黑色;」。):

<div style="border: solid 0px black;"> 
    <div style="margin-top:50px;"> 
     Post Title 
    </div> 
</div> 

內部div的邊距不再影響外部div。我一直在試圖找到定義這種行爲的W3.org規範,但沒有運氣。任何人都想幫忙?

+2

有時候我用'border:1px solid transparent'來解決這個問題。雖然這是該死的討厭。不要因爲沒有很好的理由而癱瘓我的該死的填充物。 –

+0

雅,我不得不那樣做。老實說,它很煩人。這是我追求定義這種行爲的W3規範的原因。 –

回答

5

這被稱爲「摺疊邊距」。

某些相鄰的邊距合併形成一個邊距。那些 頁邊距被認爲是「崩潰」。如果沒有非空內容,填充或邊框區域或空格來分隔 它們,則頁邊距是相鄰的。

一些容易讀:

+0

我曾經有過這樣的感覺,但我試過「邊界崩潰:分開」;而且它不起作用,所以我認爲崩潰的邊界不是原因。你碰巧知道爲什麼? –

+0

你的例子和前面介紹的兩個例子幾乎完全一樣[http://www.w3.org/TR/css3-box/#collapsing-margins]。 – thirtydot

+0

當然,我知道這實際上是答案 –