You’ll need to provide a little more information as it is not quite clear of what the dynamics you need are.
If you want data to align in columns but without setting widths then you can’t do that with css2.1.
If you have six items per row then you could divide the container width by six either with percentages or pixels and give that width to the list item (allow a margin for error due to rounding issues).
However it almost sounds as though you have tabular data and then a table would be more appropriate.
As Paul mentioned! This can’t be done without setting a width! I know setting a width can be difficult since you would like to generate those columns dynamically, but there is no way you could do this without setting a width. I usually use percentage in these kind of cases