CSS consistent top/bottom padding in a box
===

I want to create a box with consistent spacing on all sides, regardless of the content.

Unfortunately, elements have margins which cause issues when the box is given padding. This is expected because the element's margin doesn't 'flow' out of the box over padding. A demo is at http://jsfiddle.net/cZf7E/1/

Up to now I've had special style rules for anything in the box which is at the top (with `margin-top: 0`) and bottom (with `margin-bottom: 0`). For the top it's not bad, but at the bottom there's a lot of potential tags to style.

Is there a way to do this that's not so hacky?