如何动态设置div为多行两列
How to dynamically set div into multiple rows and two columns
<div class="parent">
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
<div class="col">6</div>
<div class="col">7</div>
<div class="col">8</div>
<div class="col">10</div>
<div class="col">11</div>
<div class="col">12</div>
</div>
列将使用 php 动态生成,我想根据需要拆分这两列和多行。我该怎么做。
我希望它是这样的
第一行
1 6
2 7
3 8
4 9
5 10
第二行
11 16
12 17
13 18
14 19
15 20
21
表示上一行结束的地方,下一行从那里开始。
如果 php 可以在 php 循环生成这些 div.
时对我有好处
您可以使用 CSS3 column-count
属性,如果需要,可以使用 JQuery
动态更改列数
.parent {
-webkit-column-count: 2; /* Chrome, Safari, Opera */
-moz-column-count: 2; /* Firefox */
column-count: 2;
}
<div class="parent">
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
<div class="col">6</div>
<div class="col">7</div>
<div class="col">8</div>
<div class="col">10</div>
<div class="col">11</div>
<div class="col">12</div>
</div>
试试这个
.col{
width: 50%;
float: left;
}
您需要设置条件来检查行是否以 10 结尾,除非它不起作用。
我会修改输出服务器端,但是因为你用 jQuery 标记了问题,你可以用 JS 修改 DOM。
$parent = $('.parent');
$items = $parent.find('.col');
chunk = 10;
chunks = [];
for (i=0,j=$items.length; i<j; i+=chunk) {
chunks.push($items.slice(i,i+chunk));
}
$parent.html('');
$.each(chunks, function(){
$chunk = $('<div />');
$chunk.addClass('chunk');
$chunk.append($(this));
$parent.append($chunk);
});
和CSS:
.parent .chunk {
-webkit-column-count: 2; /* Chrome, Safari, Opera */
-moz-column-count: 2; /* Firefox */
column-count: 2;
border-bottom: 1px solid black;
}
<div class="parent">
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
<div class="col">6</div>
<div class="col">7</div>
<div class="col">8</div>
<div class="col">10</div>
<div class="col">11</div>
<div class="col">12</div>
</div>
列将使用 php 动态生成,我想根据需要拆分这两列和多行。我该怎么做。
我希望它是这样的
第一行
1 6
2 7
3 8
4 9
5 10
第二行
11 16
12 17
13 18
14 19
15 20
21
表示上一行结束的地方,下一行从那里开始。
如果 php 可以在 php 循环生成这些 div.
时对我有好处您可以使用 CSS3 column-count
属性,如果需要,可以使用 JQuery
.parent {
-webkit-column-count: 2; /* Chrome, Safari, Opera */
-moz-column-count: 2; /* Firefox */
column-count: 2;
}
<div class="parent">
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
<div class="col">6</div>
<div class="col">7</div>
<div class="col">8</div>
<div class="col">10</div>
<div class="col">11</div>
<div class="col">12</div>
</div>
试试这个
.col{
width: 50%;
float: left;
}
您需要设置条件来检查行是否以 10 结尾,除非它不起作用。
我会修改输出服务器端,但是因为你用 jQuery 标记了问题,你可以用 JS 修改 DOM。
$parent = $('.parent');
$items = $parent.find('.col');
chunk = 10;
chunks = [];
for (i=0,j=$items.length; i<j; i+=chunk) {
chunks.push($items.slice(i,i+chunk));
}
$parent.html('');
$.each(chunks, function(){
$chunk = $('<div />');
$chunk.addClass('chunk');
$chunk.append($(this));
$parent.append($chunk);
});
和CSS:
.parent .chunk {
-webkit-column-count: 2; /* Chrome, Safari, Opera */
-moz-column-count: 2; /* Firefox */
column-count: 2;
border-bottom: 1px solid black;
}