Я хочу создать этот макет:
Когда элемент не помещается в контейнер, мы можем перейти к следующей строке:
Когда контейнер является маленьким, чем более широкий элемент, мы можем обернуть содержимое в многостроках
Это очень просто с Javascript, вот пример https://jsfiddle.net/oucxsep4/.
var choices = document.querySelectorAll('li');
var maxWidth = 0;
// read
for (i = 0; i < choices.length; ++i) {
maxWidth = Math.max(maxWidth, choices[i].offsetWidth)
};
// write
for (i = 0; i < choices.length; ++i) {
choices[i].style.width = maxWidth + "px";
};
ul{
margin: 0;
padding: 0;
list-style: none;
}
li{
background: red;
float: left;
margin: 5px;
}
<ul>
<li>first choice</li>
<li>choice</li>
<li>This is the wider choice</li>
<li>other choice</li>
</ul>