How to center text vertically without using padding in CSS3

I was having a lot of problems with centering text vertically without using padding. The issue is that when I used padding it displayed differently for different size text and text lines. In my case I had child and parent div elements displaying prices of items. The parent simply displayed a circle border.

I’ve tried many different options but settled on this one:

#parent {display: table;}

#child { display: table-cell; vertical-align: middle; }

It might not work in old versions of IE. But who cares really?