Así que supongamos que tengo un div que es horizontal con muchos elementos secundarios, le estoy agregando elementos con JS. Cuando hay suficientes elementos secundarios para encajar uno al lado del otro horizontalmente, entonces hágalo de esa manera. Cuando no haya la posibilidad de ajustar uno nuevo, cree una nueva fila para llenar con elementos y reducirlos. En algún momento, los elementos se vuelven demasiado pequeños, así que siga creando nuevas filas sin encogerse. ¿Es esta una característica incluida de CSS que no conozco o tendría que hacer todo esto manualmente a través de JS?
Puede probar esto usando CSS flex con la propiedad flex-wrap .
Aquí puede ver un ejemplo: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap