2011-03-09 318 views
3

我有JS生成的內容,並希望圍繞它的一個div。Div寬度= 100%?

我不知道爲什麼,但div的父母總是100%寬。

,我想我有DIV寬度:100%的地方,但意外的是在的jsfiddle看起來幾乎是一樣的:

http://jsfiddle.net/f2BXx/2/

那麼,爲什麼外層div始終是寬100%?以及如何解決這個問題?我用顯示嘗試:直列,但它設置寬度爲0px;/

CSS:

.outer { 
    border: solid 1px red; 
} 

.item { 
    height: 300px; 
    width: 400px; 
    border: solid 1px blue; 
} 

.allright { 
    height: 300px; 
    width: 400px; 
    border: solid 1px blue; 
    outline: solid 1px red; 
} 

HTML:

<p>I don't know where "outer" div 100% width comes from?</p> 

<div class="outer"> 
<div class="item"> 
    <p>Something big!</p> 
</div> 
</div> 

I always thought it'd look like that: 

<div class="allright"></div> 

我無法設置外層div寬度(寬度:xxxpx ),因爲所有內容都是動態創建的。

回答

13

這聽起來像你需要閱讀Visual Formatting Model

display: block;導致塊級別項目自動填充其父容器。

CSS的設計方式適合填充父母的孩子元素,而不是符合孩子的父母。

1

它將基於它的父容器佔用所有可用空間,正是它應該做的。如果你想要它是一個特定的寬度設置寬度:;的元素。

6

div是塊元素。 如果未指定寬度,塊元素是父元素的100%寬度。