Your pages of formed of content blocks. When you drag and drop new content blocks onto your page, any existing blocks resize to make space.
Advanced concept: They "snap" to the nearest virtual column.
At the same time, the new block and any existing blocks that are resized are put into a virtual "container". These containers can be embedded. The best way to explain this concept is visually, as below.
Here is a web page containing 9 text blocks in a 3 by 3 configuration:
The page itself is the top-level "container". Within this are two "containers". The first comprises just the first row (blocks 1, 2 and 3). The second comprises the second and third rows (blocks 4 to 9).
This second "container" itself contains three sub-containers. The first includes blocks 4 and 7. The second blocks 5 and 8. The third blocks 6 and 9.
Deleting a Block
If you delete Text Block 5, Block 8 (which is in the same "container") will expand to fill the missing space.
Now, if you delete Text Block 8, the "containers" to the left (containing 4 and 7) and to the right (containing 6 and 9) will expand to fill the missing space.
Advanced concept: When blocks or "containers" resize, they "snap" to the nearest virtual column.