我需要從左到右堆疊框(自下而上),並儘可能簡單地進行操作(無論是純粹的CSS還是使用JS,無論哪個更簡單)。請參閱下面的說明。從左到右從左到右堆疊框用CSS/JS
如果只有一個非全行:
┌─────────────────────────┐
│ │
│ │
│ 1 2 3 4 │
│ │
│ │
└─────────────────────────┘
一個完全填充行:
┌─────────────────────────┐
│ │
│ │
│ 1 2 3 4 5 6 7 │
│ │
│ │
└─────────────────────────┘
多行:
┌─────────────────────────┐
│ │
│ │
│ 8 9 10 │
│ 1 2 3 4 5 6 7 │
│ │
└─────────────────────────┘
個
許多行:
┌─────────────────────────┐
│ │
│ │
│ 15 16 17 │
│ 8 9 10 11 12 13 14 │
│ 1 2 3 4 5 6 7 │
└─────────────────────────┘
很難,但不顯示圖來描述。實現這個最簡單的方法是什麼?什麼是HTML5的方式?
編輯:
添加了此琴展示我的進步迄今:http://jsfiddle.net/12Lk7h45/
我需要的底部排完全充滿,而頂行應部分填充。另外,如何設置一個規則,當元素少於整行時,它應該都是水平居中的?
如果您不想點擊進入小提琴,這裏是我寫下來:
HTML:
<div class="wrapper">
<div class="box"><div class="label">1</div></div>
<div class="box"><div class="label">2</div></div>
<div class="box"><div class="label">3</div></div>
<div class="box"><div class="label">4</div></div>
<div class="box"><div class="label">5</div></div>
<div class="box"><div class="label">6</div></div>
<div class="box"><div class="label">7</div></div>
<div class="box"><div class="label">8</div></div>
<div class="box"><div class="label">9</div></div>
<div class="box"><div class="label">10</div></div>
<div class="box"><div class="label">11</div></div>
<div class="box"><div class="label">12</div></div>
</div>
CSS:
.wrapper {
width: 100%
}
.box {
width: 50px;
height: 50px;
background-color: red;
text-align: center;
margin: 5px;
float: left;
}
.label {
position: relative;
top: 50%;
transform: translateY(-50%);
}
.box:nth-child(5n+1) {
background-color: green;
clear: left;
}
你嘗試過什麼?也許做一個小提琴,我們可以幫助你更好。 – jungy 2015-02-10 02:59:29
我同意上面的評論。如果你希望我們幫助你,那麼你需要給我們一些工作,'源'不是圖像。這也是一個不錯的主意,可以顯示你的嘗試。 – NewToJS 2015-02-10 03:01:59
@jungy我不知道從哪裏開始,所以很遺憾我沒有得到比這更遠的地方:http://jsfiddle.net/12Lk7h45/ – adrianmc 2015-02-10 03:09:05