我有一個柔性容器justify-content: flex-start
。由於柔性物品佔用的空間比容器的尺寸小,因此最終會在右側溢出。我如何設置柔性容器作爲其柔性項目的寬度?
除了在flex-container上設置一個明確的寬度之外,有沒有一種方法可以等效於width: auto
來消除溢出?
我有一個柔性容器justify-content: flex-start
。由於柔性物品佔用的空間比容器的尺寸小,因此最終會在右側溢出。我如何設置柔性容器作爲其柔性項目的寬度?
除了在flex-container上設置一個明確的寬度之外,有沒有一種方法可以等效於width: auto
來消除溢出?
不知道你的問題,而是:
DEMO:http://jsfiddle.net/jn45P/
你只需要能夠在柔性項目的靈活性,利用flex-grow:1;
填滿空間
<div class="o">
<div>a</div><div>a</div><div>a</div><div>a</div><div>a</div>
</div>
<div class="o flex">
<div>a</div><div>a</div><div>a</div><div>a</div><div>a</div>
</div>
div.o
{
border:2px red solid;
padding:2px;
width:500px;
flex-direction:row;
display:flex;
justify-content:flex-start;
}
div.o > div
{border:2px red solid;margin:2px;}
div.o.flex > div
{flex:1 1 auto;} /* enable flexibility on the flex-items */
調整項目的大小以適應容器,而不是其他方式。 – BoltClock
吃出正如Mahks,你可以make the flex container inline建議。但是,如果將它內聯放置不適合您的佈局,則另一種方法是浮動柔性容器(而不是柔性項目)。
Floats將收縮包裝以適應其內容,這對於塊級Flex容器來說沒有什麼不同。內聯級柔性容器在佈局在其父級內聯格式化上下文中時的行爲與inline-block box類似,這意味着默認情況下它也會縮小以適應其內容。
如果您支持較舊的Firefox瀏覽器,則使用浮點數將導致「壞事」(tm)發生(請參閱:https://bugzilla.mozilla.org/show_bug.cgi?id = 660699) – cimmanon
柔性箱子是非常棘手的...他們仍然有很多工作要走之前,他們實際上是可靠的。但是,這個鏈接可以幫助:https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes – BuddhistBeast
嗯......你可以[顯示演示](http://jsfiddle.net) ? – Passerby
你說的是「溢出」和「更少空間」,但你可能意味着「下溢」和「更少空間」或「溢出」和「更多空間」。澄清你的問題 – 2014-01-08 04:03:55