Canvas size changing children size?

I know topic about this was already created but i still don’t understand why if i change canvas size of scrolling frame then childrens size is changing too? im using uigridlayout to make inventory and use scale on it to make everything same sized on all devices

GuiObject.Size is of type UDim2 with the following fields:
xScale, xOffset, yScale, yOffset
Where each of the scale values determine size relatively to the container while the offset values determine size in Roblox resolution pixels.

The container is whatever the object is parented to, be it a ScreenGui or another GuiObject. A value of 1 resembles 100% of the parent’s scale. You can even determine which axes to use for relative scaling using GuiObject.SizeConstraint.

In case of a ScrollingFrame, a scale value of 1 resembles the whole size of the canvas, not the ScrollingFrame itself. Thus, if your objects use scales, they’re sized relatively to the canvas.

but if i use offset then for example on phone gui object will be another size. Is there way to make it same?

You can use scale but you’ll have to manually change the values if you intend to change the canvas size.