2013-06-11 267 views
1

例如,我希望我的包裝div具有紅色背景顏色,當其他div放入其中時,它會填滿。背景顏色不填充div

但是,由於它使用margin:auto;並且裏面的div被浮起,顏色不會繼續向下。如果我刪除邊距自動,並用float:left;替換它。那麼顏色將會繼續,因爲它應該。

我已經通過保留我的邊距自動和使用溢出:隱藏它允許顏色流下來。但是,我正在努力的這個網站,我需要保持溢出可見。

有沒有另一種方法可以讓這個工作?另外,如果你知道,你能解釋爲什麼溢出隱藏工作的方式。

謝謝

+4

*真的*很難調試這些問題沒有任何代碼作爲一個例子來看看。通常他們是相當獨特的情況,因爲人們傾向於採取許多不同的方法來使用CSS和HTML。你能否將一些非敏感的html和css複製到*** ['http:// jsfiddle.net'](http://jsfiddle.net)***,單擊「保存」,然後將鏈接發佈到此處所以我們可以看到發生了什麼? –

+1

http://jsfiddle.net/USvkA/從代碼中你可以看到紅色的背景顏色。如果從包裝中刪除浮動並用邊距自動替換它,則可以看到紅色消失。 –

+0

這確實是一個有趣的情況。問題是沒有'float'的包裝實際上有'0px'的高度。我不確定是什麼原因導致'float'給出'.wrapper'的div高度。希望別人能夠對此有所瞭解。 –

回答

1

的解決方法是將一個div是DIV中...

就像這個...

<div id="container"> 

    <div id="colordiv"> 

    <div></div> 
    <div></div> 
    <div></div> 

    </div> 

</div> 

當容器被自動保證金 '容器',並顏色div是該容器的100%顏色填充。

這種方式可以使主容器中的任何寬度,其餘將跟隨,並且顏色儘量繼續作爲內容

DEMO HERE

ANOTHER DEMO - smaller divs

至於你的溢出問題.. ..我不確定爲什麼這種情況下

+0

jsfiddle.net/USvkA從代碼中可以看到紅色背景的顏色。如果從包裝中刪除浮動並用邊距自動替換它,則可以看到紅色消失。 –

+0

我知道一個額外的div可以工作,但這正是我想要避免的 –