Hallo,
Da display:table-cell nicht vom IE unterstützt wird, funktioniert so etwas eben immer noch _nur_ in Tabellen.
Ist irgendwie unlogisch oder nicht?
Nein.
HTML ist Hyper_Text_Markup. Text steht normalerweise in Zeilen. Die Zeilenhöhe kannst Du beeinflussen und innerhalb der Zeile kann Text auch in der Mitte positioniert werden. Mehrere Zeilen in einem Block-Element bilden eine Box. Die Gesamthöhe dieser Zeilen bildet die Inhaltshöhe der Box. Über und unter dieser Inhaltshöhe kann es padding, border und margin geben. Kennst Du also die Inhaltshöhe, dann kennst Du auch die Gesamthöhe der Box, inklusive margin, border und padding.
Eine Box mit vorgegebener Höhe, in der sich mehrzeiliger Text an der vertikalen Mitte der Box ausrichtet, ist kein normaler Fließtextkontext. Das gibt es nur als Tabellenzelle.
viele Grüße
Axel