2012-04-23 140 views
0

溢出:隱藏可以建立新的阻塞格式上下文,並且阻止格式上下文可以防止收縮邊界。 但在這個例子中,它不起作用,它們之間的差距仍然是20px。 爲什麼? http://www.w3.org/TR/CSS2/visuren.html#block-formatting
http://www.w3.org/TR/CSS2/box.html#collapsing-margins溢出:隱藏不能防止收縮邊界

的.mod-A,的.mod-B {保證金:20像素;溢出:隱藏}

enter image description here

+0

我們可以看到一些代碼嗎?目前我們不得不猜測你的意思,而代碼確實有助於澄清事情。 – Jasper 2012-04-23 10:47:02

+0

是的,現在可以:) – timezhong 2012-04-23 10:49:16

回答

0

溢出無關保證金或墊襯。如果您不需要保證金,請將margin設置爲0而不是嘗試更改overflow

+2

不,你沒有知道這意味着什麼,overflow:hidden可以建立一個新的阻塞格式上下文,而阻塞格式上下文將防止收斂邊界。 – timezhong 2012-04-23 10:51:48

+0

你的意思是所有瀏覽器都有錯誤?哇。 – 2012-04-23 11:22:44

+0

希望你現在已經發現它不是任何瀏覽器中的錯誤;)它更多的是[其他]的解決方法的副作用(http://stackoverflow.com/questions/9943503/why-does- css2-1-限定溢出值-其他超可見 - 建立-A-NEW-b/11854515#11854515)。 – BoltClock 2013-12-12 01:14:39

2

溢出:隱藏不與他們的in-flow孩子合併,但它與其他DIV合併。像這樣寫:

div{ 
    margin:20px 0; 
    background:red; 
    width:50px; 
    height:50px; 
    float:left; 
    clear:left; 
} 

入住這http://jsfiddle.net/fXz57/

+0

所以'float:left;'觸發塊格式化上下文,'clear:left;'禁用浮動或發生了什麼? – Tomasz 2016-12-10 13:34:19

0

有餘量,因爲在你的類,你給利潤率爲20像素。從css class .mod-a,.mod-b:20px刪除邊距。

溢出隱藏與此無關。它用於當你有一個長元素在其他說標籤是50像素寬度和文本里面是200像素。然後溢出:隱藏將隱藏其他