Here’s another method that vertically aligns the horizontal content in relation to each other (but not necessarily with the parent outer as in the example that Ralph has linked to).
Vertical centring is awkward if you want older browser support. Modern browsers (IE8+, Firefox, Safari etc…) can all use the display:table properties and can vertically center quite easily.