In a grid with multiple columns, * size columns divide the remaining space. For example, suppose a grid is 300 pixels wide with three columns (150 pixels, 120 pixels, and 1 *).
Calculation:
remainder = (300 - 150 - 120)
Since the remainder is 30px, the 1 * column has a width of 30px
Now add some columns and change the width to (35px, 85px, 2 *, 1 *, 3 *)
Recalculation:
remainder = (300 - 35 - 85)
In this case, the remainder is 180px, so each column * divides the remaining pixels according to their weight number.
factor = (180/ (2 + 1 + 3)) factor = 30px
Therefore, column 2 * is 60px, column 1 * is 30px, and column 3 * is 90px
300 == 35 + 85 + 60 + 30 + 90
Of course, the same principles apply to row size.
When the grid changes, the columns * separate the new remainder size. But they retain the same size ratio between other elements * size. In this example, a 3 * column will always be 3 times wider than a 1 * column.