Динамически создаваемый элемент, сохраняя только 2 деления на строку

0

В моем коде Dynamically div создаются, я хочу сохранить только 2 div в одной строке. иногда я получаю 6 или 7. как я могу сделать только 2 div я одной строки?

Мне нужно сделать 2 div inline, а затем добавить новую строку, а затем 2 div inline и новую строку.

colorList += "<div>";
$.each(array, function( index, value ) {
    colorList += "<div id='" + value + "' class='Productcolours' style='background-color:" + value + "; display: inline-block;'>" + value + "</div>";
});
colorList += "</div>";
  • 2
    Пожалуйста, объясните, что означает "как я могу сделать только 2 деления в одной строке"
  • 0
    Вы имеете в виду, что у вас будет только два внутренних inline-block с отображением inline-block , верно?
Показать ещё 3 комментария

3 ответа

1

Это можно сделать тремя способами

  1. Уменьшите ширину родительского элемента до ширины двух элементов.Productcolours
  2. установить ширину.Productcolours до 50%
  3. добавить <br> тег путем проверки индекса в $.each

    if((index+1)%2==0 && index > 0)
    {
       colorList += "<br>"
    }
    
0

Вместо того, чтобы использовать <br/>, я бы предложил вставить '', который может очистить место для вас.

Это также поможет, если вы хотите сделать больше, а не одиночные разрывы строк между строками. Таким образом, он дает более контролируемый дизайн:

colorList += "<div>";
$.each(array, function( index, value ) {
    colorList += "<div id='" + value + "' class='Productcolours' style='background-color:" + value + "; display: inline-block;'>" + value + "</div>";

    if( (index+1) %2 == 0) {
        colorList += "<div class='clearLine'></div>";
    }
});
colorList += "</div>";

и в CSS вы можете добавить:

.clearLine {
    margin: 5px 0;
    /* or whatever you like to mark a clean space
        or additional decorations
    */
}
0
colorList += "<div>";
$.each(array, function( index, value ) {
    colorList += "<div id='" + value + "' class='Productcolours' style='background-color:" + value + "; display: inline-block;'>" + value + "</div>";

if( (index+1) % 2 == 0 ){
    colorList += '<br />' 
}

});
colorList += "</div>";

Ещё вопросы

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