2011-03-09 193 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%宽度。