Вы можете использовать JS и CSS для решения вашей проблемы.
С помощью JS вы можете создавать и добавлять любое количество элементов, которое вам нужно.Я сделал небольшой фрагмент, чтобы посмеяться над этим.Var buttonsToGenerate
должен быть заменен динамически в зависимости от ответа вашего сервера
С помощью CSS вы можете использовать макет flexbox, чтобы сделать более динамичный и самый важный, отзывчивый макет
Надеюсь, это поможет:)
function generate(){
let buttonsToGenerate = Math.floor(Math.random() * (3)) + 1;
for(let i = 0; i < buttonsToGenerate; i++){
var btn = document.createElement("button");
var t = document.createTextNode("button text");
btn.appendChild(t);
document.getElementById('button-holder').appendChild(btn);
}
}
p {
display: inline;
}
p + button {
width: auto;
height: auto;
}
button {
width: 200px;
height: 200px;
}
#button-holder {
display: flex;
width: 100%;
height: auto;
flex-wrap: wrap;
justify-content: space-between;
}
<!DOCTYPE html>
<body>
<p>This will generate buttons between 1 - 5 per click:</p><button onclick="generate()">RUN</button>
<div id="button-holder"></div>
<script>
</script>
</body>