Just as Louis Kahn asked “What does a brick want to be?” we may ask what does CSS want to be?  And here’s the answer:  it wants to be a block.  CSS coding presents us with The Block Model.  And our job should be to find the nature of the block model.  For example, when you apply a tag, it creates a block.  Whether it is a BLOCK block or an INLINE block remains to be seen.

We can, then, use the innate properties of CSS.  So one thing we can do is stick the blocks to edges.  I  can create four blocks and cause them to stick to the Top, Right, Bottom or Left margins.  The result looks like this.

Another thing we can do is float these blocks against each other.  We can build up a big stack of floating elements that hang together or fall apart depending on “local conditions,” i.e. platform, operating system,  screen size, etc.  One hears web people praising a CSS layout that “degrades gracefully.”  In other words, as the width of the user interface, for example, gets smaller, the blocks tumble down the page while maintaining their hierarchies and meaning.

Another great concept has to do with positioning which is typically ignored by tools such as WordPress.  I love absolute postioning withing a relatively-positioned wrapper.  (BTW, I would like to start a movement to change the name “Absolute” to “Relative,” and “Relative” to “Offset.”  These reflect their true meanings!