2016-05-23 66 views
4

我有一个容器div有几个要素里面,像这样的宽度:制作DIV总是有它的内容

<div class="container"> 
    <p>one</p> 
    <p>two</p> 
    <p>three</p> 
    <p>four</p> 
    <p>five</p> 
    <p>six</p> 
    <p>seven</p> 
    <p>eight</p> 
</div> 

它看起来像这样:

SS

您可以在div(蓝色)扩展为填充窗口的整个宽度。我希望它总是'拥抱'p的内部,总是有必要的最低width

我已将其设置为display: inline-block。现在它看起来像 SS2

问题来了。当我重新调整窗口的大小以使其中一个元素被“推”到第二行时,div不缩小以适应元素的新大小。相反,它延伸到窗口的边缘。

SS3

我怎么会让股利适合其内容,调整大小,即使这样,它会是什么样子呢?

SS4

我已经搜查,搜查,但找不到回答这个问题。

的jsfiddle Here

+0

退房Flexbox的https://开头的CSS-技巧.com/snippets/css/a-guide-to-flexbox/ – Eric

+0

[CSS内嵌块元素换行符时,父包装器不适合新的widt H](http://stackoverflow.com/q/34995740/1529630)。不可能。 – Oriol

回答

1

那是不可能的,所以尽可能接近,你可以使用flexbox

body { 
 
    margin: 0 
 
} 
 
.container { 
 
    background: lightblue; 
 
    display: flex; 
 
    justify-content: space-between; 
 
    flex-wrap: wrap 
 
} 
 
.container p { 
 
    background: pink; 
 
    font-size: 40px; 
 
    margin:10px 0 
 
}
<div class="container"> 
 
    <p>one</p> 
 
    <p>two</p> 
 
    <p>three</p> 
 
    <p>four</p> 
 
    <p>five</p> 
 
    <p>six</p> 
 
    <p>seven</p> 
 
    <p>eight</p> 
 
    <p>nine</p> 
 
    <p>ten</p> 
 
</div>

+0

你只是证明这些物品,而不是缩小容器,我认为这是不可能的。 – Oriol

+0

@Oriol,Ya我不这么认为,但我记得尽可能接近OP想要实现的目标 – dippas