12
I've come across this problem before. I'll quote the experts so I don't fudge this up: "...internal object is absolutely positioned in half of the area height. Then is moved up by half of its height."
This can be all done with % instead of exact pixels, in case the data is generated from a database and the height varies with each page.
Source: here
Demo: linked on the above page
Here goes my first answer...