我想要實現的定位是這樣的(這些按鈕,但它並不重要):CSS:Flex的兒童寬度和浮動
|-------|-------|-------|-------|
| | | small | |
| | |-------| |
| big | big | small | big |
|-------|-------|-------|-------|
所以,我把它叫做定位從上到下,從左到右 - 如果有足夠的地方,瀏覽器應該把元素放在前一個元素之下,否則 - 放在它旁邊。我不知道會有多少元素,也不知道它們的寬度等等 - 它必須非常靈活。
經過簡短的研究,我發現display: flex
。它看起來非常有前途(我不需要與不同瀏覽器兼容 - 我的計劃是使用html來完成本地應用程序),但有一個問題。
注意:我不希望它佔用100%的寬度 - 它只應佔用足夠的空間。父母上的float: left
似乎是完美的。
在簡單情況下:大按鈕,大按鈕,小按鈕,大按鈕 - 它的工作原理非常完美。當我再添加一個小按鈕時會出現問題 - 顯示正確 - 在前一個但是父母更大!
這裏是代碼我(和小提琴這裏,這說明這兩種情況:http://jsfiddle.net/h7SK7/):
<div class="container">
<button>Lorem</button>
<button class="small">Dolor</button>
<button class="small">Sit</button>
</div>
div.container {
height:50px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
float:left;
}
button {
height:50px;
}
button.small {
height:20px;
}
誰能幫助我?
這顯然解決辦法工作,但我希望我能使用JS切換'small'階級和一切都被動態地重新定位:( – Andy