Less browser support to be clear, but display: table; and display: table-cell; are also a solution.
However, see this article by Chris:
I agree with him in this case. Granted while personally I would never use a table for layout, to get the exact functionality that @begetolo needs a table is the best solution. :)
And honestly there just isn’t one ‘right’ way to go about it. Just go with a solution that you’re comfortable with.