2014-07-18 71 views
-1

http://jsfiddle.net/xVNN9/1/CSS包裝DIV不工作

在這撥弄我累了環繞所有其它的div一個div,並給它的背景顏色。可惜這不符合預期,它像包裝div不存在。這個小提琴有什麼問題?所有div應放置在灰色框中,即包裝div的背景顏色。

<div class="wrap"> 

<div class="line">a</div> 
<div class="line">b</div> 
<div class="line">c</div> 
<div class="line">d</div> 

<div class="first">e</div> 
<div class="line">f</div> 
<div class="line">g</div> 

</div> 

CSS

div.wrap {background-color:#CFCFCF;} 

div.line {float:left;background-color:#00FF00; margin:5px; } 
div.first {clear:both; float:left; margin:5px;} 

回答

1

您可以添加display: inline-block到.wrap

+0

這工作甚至更好。我喜歡它比溢出更好:隱藏。 – cli

+0

@cli是否解決了您的問題? – Quince

+0

是的,這工作正常,我接受這個答案。 – cli

1

你只需要清除浮動元素。要做到這一點只需添加overflow: hidden.wrap

+0

是的,這樣的作品,雖然我不明白爲什麼。 – cli

+0

克里斯科伊爾在這裏解釋它比我能在這裏更好http://css-tricks.com/all-about-floats/ – mattcouchman

1

清除您的元件,因此說,父母應的div包裹一切裏面是添加的最徹底的方法最後清除div。

默認情況下,當您在其中添加浮動元素時,包裝器維度不會更新。但是,當你清除它們時,尺寸更新將達到最後清除/浮動元素的末尾。

<div style="clear: both"></div>

在這裏看到的DEMO:http://jsfiddle.net/xVNN9/5/

+0

這也是一個很好的方法。我喜歡展示:內嵌塊最多,但這也非常好。但是,我真的不明白這是如何工作的。 – cli