В моем коде 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>";
Это можно сделать тремя способами
добавить <br>
тег путем проверки индекса в $.each
if((index+1)%2==0 && index > 0)
{
colorList += "<br>"
}
Вместо того, чтобы использовать <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
*/
}
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>";
inline-block
с отображениемinline-block
, верно?