If only it were that simple :). Vertical centering with CSS isn't as easy as setting vertical margins. There are a variety of other ways to do it however. Such as display:inline-block, display:table-cell (and the actual <table> HTML), and some mix of position:absolute trickery.
The display:table-cell isn't usable much right now due to IE7 still being here (though if you don't care about that, by all means use it). I prefer to use display:inline-block (and advocate it over table-cell for now, until IE7 dies).