我有一種情況,我需要能夠根據用戶輸入將div分爲左列或右列。所以,我不控制DOM中的div的順序,這意味着可能會有2個div左移,然後是5個div右移,然後是10個div左移,依此類推。將可變數量的div浮動到左/右列
這裏的例子
HTML
<div class="left" style="background-color:#D8D8D8;">aa</div>
<div class="right" style="background-color:#C4BD97;">bb</div>
<div class="right" style="background-color:#8DB3E2;">dd</div>
<div class="right" style="background-color:#E5B9B7;">ee</div>
<div class="full" style="background-color:#D7E3BC;">ff</div>
<div class="right" style="background-color:#CCC1D9;">gg</div>
<div class="left" style="background-color:#FBD5B5;">cc</div>
<div class="right" style="background-color:#D8D8D8;">hh</div>
<div class="right" style="background-color:#C4BD97;">ii</div>
<div class="right" style="background-color:#8DB3E2;">kk</div>
<div class="left" style="background-color:#E5B9B7;">ll</div>
<div class="full" style="background-color:#D7E3BC;">mm</div>
<div class="right" style="background-color:#CCC1D9;">nn</div>
<div class="left" style="background-color:#FBD5B5;">jj</div>
CSS
.left {float:left;clear:left;}
.right {float:right;clear:right;}
.full {float:none;clear:both;}
這裏有一個小提琴:http://jsfiddle.net/nNL2V
在這個例子中,我想崩潰LL和CC之間的空白所以它出現在下面。該解決方案必須支持IE8及更高版本。
我還應該補充一點,我曾經考慮過用左右分區做浮動列方法,但由於使用clear的全寬div,它不能在我的情況下工作:兩者都穿插在浮動部分之間。
我想過做的2列的方式,但它不會在我的情況下工作,因爲還可以有浮動的div之間的全寬度的div這將清除:然後左側和右側列繼續。我也會用這個信息編輯問題。 – psionicgames
好吧,所以考慮這個小提琴:http://jsfiddle.net/nNL2V/,你想要做的是摺疊浮動div之間出現全寬divs之間的空白? (在'cc'下移動'll') –
是的,這正是我想要做的 – psionicgames