Можно ли добавить индекс к столбцу? Заказать их

0

Можно ли добавить индекс или что-то в столбец, поэтому, если столбец имеет более высокий индекс, он будет ниже индексов с более низким индексом?

Например, 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.

  • 0
    Вам нужно использовать Javascript, чтобы изменить порядок элементов DOM.
  • 1
    В качестве альтернативы, вы можете использовать дизайн в стиле MVC, в котором ваше представление представляет только данные, хранящиеся в модели данных, и, таким образом, будет не только поддающимся заказу, но и переупорядочиваемым.
Показать ещё 5 комментариев

1 ответ

-1

Я так понимаю, вы имеете в виду нечто похожее на это:

Демо-версия JS Fiddle

Весь код не изменяется, кроме этого.

CSS:

*, *: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;
}

Javascript:

$(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);
});

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>

Это только то, что я интерпретирую ваш вопрос для достижения результата. Если я ошибаюсь, я извиняюсь. Я понимаю, что вы используете столбцы, но если этот вид вам нужен, то столбцы не нужны.

  • 0
    Это не работает. если вы добавляете $(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); });
  • 0
    Используя Chrome и Firefox, оба доказывают это успешно. Пожалуйста, уточните @ user2310289 - я только что обновил весь использованный код, и все показывается, как и ожидалось (3 столбца с 4 5 6 выше 7 8 9 10)
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню