Можно ли добавить индекс или что-то в столбец, поэтому, если столбец имеет более высокий индекс, он будет ниже индексов с более низким индексом?
Например, http://jsfiddle.net/BL3M7/8/:
HTML:
<div class="block-container">
<div class="block" style="height: 50px">1</div>
<div class="block">2</div>
<div class="block">3</div>
<div class="block">4</div>
<div class="block">5</div>
<div class="block">6</div>
</div>
JS:
$(function() {
setTimeout(function() {
$('.block-container').append('<div class="block">7</div>');
$('.block-container').append('<div class="block">8</div>');
$('.block-container').append('<div class="block">9</div>');
$('.block-container').append('<div class="block">10</div>');
$('.block-container').append('<div class="block">11</div>');
}, 2000);
})
CSS:
/* apply a natural box layout model to all elements */
*, *:before, *:after {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
body {
margin: 0;
}
.block-container {
-moz-column-count: 3;
-moz-column-gap: 10px;
-webkit-column-count: 3;
-webkit-column-gap: 10px;
column-count: 3;
column-gap: 10px;
width: 100%;
}
.block {
display: inline-block;
margin-bottom: 20px;
width: 100%;
height: 100px;
border: 1px solid black;
}
Я хочу, чтобы коробки 7,8,9,10 были ниже ящиков 4,6,5.
Я так понимаю, вы имеете в виду нечто похожее на это:
Весь код не изменяется, кроме этого.
*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
margin: 0;
}
.block-container {
width: 100%;
overflow: hidden;
}
.block {
display: block;
margin-bottom: 20px;
margin-left: 1%;
margin-right: 1%;
width: 30%;
height: 100px;
border: 1px solid black;
float: left;
}
$(function () {
setTimeout(function () {
$('.block-container').append('<div class="block">7</div>');
$('.block-container').append('<div class="block">8</div>');
$('.block-container').append('<div class="block">9</div>');
$('.block-container').append('<div class="block">10</div>');
$('.block-container').append('<div class="block">11</div>');
}, 2000);
});
<div class="block-container">
<div class="block" style="height: 50px">1</div>
<div class="block">2</div>
<div class="block">3</div>
<div class="block">4</div>
<div class="block">5</div>
<div class="block">6</div>
</div>
Это только то, что я интерпретирую ваш вопрос для достижения результата. Если я ошибаюсь, я извиняюсь. Я понимаю, что вы используете столбцы, но если этот вид вам нужен, то столбцы не нужны.
$(function () { setTimeout(function () { $('.block-container').append('<div class="block">7</div>'); $('.block-container').append('<div class="block">8</div>'); $('.block-container').append('<div class="block">2</div>'); $('.block-container').append('<div class="block">10</div>'); $('.block-container').append('<div class="block">11</div>'); }, 2000); });