Warning: I mostly break things when I try any CSS stuff, so take this with a grain of salt.
I think you could take any of the three column layouts above and add <div>
s inside the columns to break them up into boxes. You’d have to assign a class or id to each one. Then in the stylesheet, you could control things like the border, margins and padding, (possibly) the vertical positioning and (possibly) the size of the box. If you don’t do fixed vertical positions, they may not line up depending what is in each box.
Alternately, you could probably achieve the same thing by putting a list with three items in each column and style the list items to make your boxes. Again, you’d have to tinker to make sure they line up in a perfect grid.
I know there is a lot of resistance to the use of tables for anything but “tabular data”, but you might just consider tables. Are you wanting a perfectly aligned grid simply for esthetics or is everything in column 2 related and everything in row 2 related, etc. If so, that is a proper use of tables.