If you used Ditto to generate the table, you can use the [+total+] placeholder plus some PHx math to calculate the width. For example, place your Ditto call within a table wrapper:
<table width="100%">
<tr>
[[Ditto? &tpl=`cellTpl` &paginate=`1`]]
</tr>
</table>
The &paginate=`1` is required to populate the [+total+] placeholder.
Then output the table cells to the
cellTpl chunk using some math on the total to calculate the width:
<td width="[+total:math=`100/?`+]"><a href="[~[+id+]~]">[+pagetitle+]</a></td>
If you wanted to limit the width value to two decimal places, you could also use
phx:price_format custom modifier to do that:
<td width="[+total:math=`100/?`:price_format+]"><a href="[~[+id+]~]">[+pagetitle+]</a></td>