This is a bit complicated and we´d worked on the issue before. The short version is: If we use "width", as you suggested, sizing is very static and space is used very inefficiently in many situations. This becomes a problem when column content grows too large for the defined width and there would be space available, but columns just do not use it because of the fixed width. Currently, we are using "max-width", which grows dynamically, but starts to affect the table layout once space is limited and columns must fight over it. It´s much better with handling dynamic content, but worse if the list is almost empty.
There is likely a better solution out there, but unfortunately, it´s complicated. I´m not happy with the current state - my last attempt did not survive testing, hopefully I´ll find a good solution.