Hi,
Horizontal klappt ohne Problem - aber vertikal...
... klappt es nicht, weil
vertical-align: middle;
nicht für blocklevel-Elemente definiert ist.
Du solltest vielleicht eine Tabellenzelle nehmen, weil es - bei mehrzeiligem Text - nicht anders geht.
freundliche Grüße
Ingo